使用numpy对两个相同大小的矩阵进行卷积

Convolve two same size matrices using numpy

我想使用 numpy 对两个同维矩阵进行卷积。 根据维基百科上的 example,这是一个可能的操作。

import numpy as np

f = np.array([[45, 60, 98],
              [46, 65, 98],
              [47, 65, 96]])

h = np.array([[ 0.1,  0.1,  0.1],
              [ 0.1,  0.2,  0.1],
              [ 0.1,  0.1,  0.1]])

print np.convolve(f,h)

console output

为什么会出现此错误?

尝试:

import scipy.signal
import numpy as np

f = np.array([[45, 60, 98],
              [46, 65, 98],
              [47, 65, 96]])

h = np.array([[ 0.1,  0.1,  0.1],
              [ 0.1,  0.2,  0.1],
              [ 0.1,  0.1,  0.1]])

print scipy.signal.convolve2d(f, h, 'valid')

它应该实现图像中描述的卷积。

输出为np.array([[ 74.5]])