这受此question的启发。
我正在尝试使用Numpy查找两个灰度图像之间的相关性。使用SciPy的correlate2d
,我们可以找到这个。我找到了Numpy的corrcoef
,但与va}
相比,结果却有所不同。因此,这个问题-Numpy是否有correlate2d
个等价物?
答案 0 :(得分:1)
据我所知,这产生的结果与scipy.correlate2d()
相同,其中img1
和img2
是表示灰度(即单通道)图像的2d数组:
import numpy as np
pad = np.max(img1.shape) // 2
fft1 = np.fft.fft2(np.pad(img1, pad))
fft2 = np.fft.fft2(np.pad(img2, pad))
prod = fft1 * fft2.conj()
result_full = np.fft.fftshift(np.fft.ifft2(prod))
corr = result_full.real[1+pad:-pad+1, 1+pad:-pad+1]
单像素裁切调整不是很好,但这对您来说是FFT:
我只想说scipy
很好用,我强烈推荐。话虽如此,对于我尝试过的单个案例,这种方法似乎确实要快得多。