def cor_fft(x1,x2,sigma):
dist11 = np.sum(np.square(x1))
dist22 = np.sum(np.square(x2))
if len(x1.shape)==2:
c = np.fft.ifft2((np.conj(fft(x1))*fft(x2)))
else:
c = np.fft.ifft2(np.sum(np.conj(fft(x1))*fft(x2),2))
dist= dist11-2*c+dist22
cor = np.exp(-1*dist/(sigma**2*x1.size))
cor = np.real(cor)
return cor
评论列表
文章目录