scipy.ndimage.convolve的理论和分步说明

时间:2018-01-24 18:31:53

标签: python scipy

大家好日子。

请帮助我理解一维数组的函数scipy.ndimage.convolve理论。我知道http://lagrange.univ-lyon1.fr/docs/scipy/0.17.1/generated/scipy.ndimage.convolve.html

中的公式
 C_i = \sum_j{I_{i+j-k} W_j},

但我无法理解,如何手动获得结果。

例如:test_1 = scipy.ndimage.convolve([1, 2, 3], [1, 2, 3, 4, 5])

结果为[24 24 30]

test_2 = scipy.ndimage.convolve([1, 2, 3], [3, 4, 5])

结果为[15 22 31]

如果我在这里写下我所做的所有尝试,那将占用很大的空间。

请逐步说明如何手动处理这些示例。

1 个答案:

答案 0 :(得分:0)

这里发生了两件棘手的事情

1)ndimage有一个名为“mode”的标志,默认情况下设置为“reflect”

2)两个是卷积内部反转其中一个输入

尝试比较这段代码

scipy.ndimage.convolve([1, 2, 3][::-1], [1, 2, 3, 4, 5],mode='constant')

给你的手工解决方案。 (如果你已经考虑了逆转,那就摆脱“[:: - 1]”