我正在尝试实现一种算法来有效地计算卷积和相关性的组合,如下所示:
c(x,y)=(sum of i, (sum of j, a(x-i,y+j)*b(i,j)))
我知道1-D卷积或相关可以通过解决
a conv b = ifft(fft(a).*fft(b))
a corr b = ifft(fft(a).*conjg(fft(b)))
但我不知道它们在二维或三维问题中的组合。我认为它类似于二维卷积,但我不知道具体的演绎过程。
通过反转其中一个参数,可以用卷积来写出相关性:
corr(x(t),y(t)) = conv(x(t),y(-t))
因此,如果您希望x轴的行为类似于卷积而y轴的行为类似于相关性,则仅反转y轴并计算卷积。如果您使用空间或频域实现,则无关紧要。