3

私は 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

それらはまったく同じですか?

4

1 に答える 1

0

畳み込み [f(x), g(x)] = 相関 [f(x), g(-x)]

相関は、カーネルを画像上に移動するだけで発生します。

畳み込みは数学的概念 (物理学でも使用されます) であり、たとえばフーリエ変換や、量子力学的粒子/波の確率密度を計算するときに役割を果たします。

于 2020-11-05T16:04:24.130 に答える