scipy.ndimage.interpolate卷积和相关之间的区别

时间:2013-08-29 18:57:09

标签: python scipy

我只是想熟悉scipy.ndimage,我无法弄清楚interpolate.convolve和interpolate.correlate是如何不同的。

In [24]: a
Out[24]: 
array([[  0.,   1.,   2.],
       [  3.,   4.,   5.],
       [  6.,   7.,   8.],
       [  9.,  10.,  11.]])
In [25]: filt=array([[0,1,0],[1,2,1],[0,1,0]])
In [26]: convolve(a,weights=filt)
Out[26]: 
array([[  4.,   9.,  14.],
       [ 19.,  24.,  29.],
       [ 37.,  42.,  47.],
       [ 52.,  57.,  62.]])
In [27]: correlate(a,weights=filt)
Out[27]: 
array([[  4.,   9.,  14.],
       [ 19.,  24.,  29.],
       [ 37.,  42.,  47.],
       [ 52.,  57.,  62.]])
In [28]: correlate == convolve
Out[28]: False

它们完全一样吗?

1 个答案:

答案 0 :(得分:0)

卷积[f(x),g(x)] =相关性[f(x),g(-x)]

Correlation仅在将内核移动到图像上时发生。

Convolution是一个数学概念(也在物理学中使用),例如在Fourier Transformation或计算probability density of quantum mechanical particles/wave时发挥作用。