我正在实施一种需要相移图像的算法。下面的代码隔离了原始图像的傅里叶域中的单个空间带,然后从该数据中重新组装图像。
相移应该在重建图像中完成空间移动,但是我得到了一个重叠的对角翻转版本的图像...
image_fft = np.fft.fft2(image)
image_fft = np.fft.fftshift(image_fft)
kernel = gabor_kernel(image.shape, 4.0, 0 * np.pi / 4.0, 1.0/4, np.pi / 2.0)
kernel = kernel[:-1, :-1]
kernel /= np.max(kernel)
kernel_fft = np.fft.fft2(kernel)
kernel_fft = np.fft.fftshift(kernel_fft)
band_fft = image_fft * kernel_fft
band_fft.imag *= 200
band = np.fft.ifftshift(bands_fft)
band = np.fft.ifft2(band)
band = np.fft.fftshift(band)
有人能指出我正确的方向吗?
答案 0 :(得分:0)
我认为您的band_fft = image_fft * kernel_fft
应该是频域中的点积。