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

时间:2016-04-05 10:00:16

标签: python numpy matrix convolution

我想使用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

为什么我收到此错误?

1 个答案:

答案 0 :(得分:1)

尝试:

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]])