该代码应该使用傅立叶位移定理在x和y方向上移动RGB图像。
显然,图像仅在x维度上平移。
函数“ SubPixelShift”获得以下信息:
f-RGB图像的2D傅立叶变换。
delta-x和y中1X2的翻译向量。
nr,nc-图片的空间尺寸。
您能告诉我我哪里出问题了吗?
谢谢
import numpy as np
from scipy.fftpack import fftfreq
def SubPixelShift(f, delta, nr, nc):
shift_rows,shift_cols = delta
Nr, Nc = fftfreq(nr), fftfreq(nc)
Nc,Nr = np.meshgrid(Nc,Nr)
Shifted_Image = np.exp(1j*2*np.pi*((shift_rows*Nr)+(shift_cols*Nc)))
output_array = np.absolute(np.fft.ifft2(f*np.expand_dims(Shifted_Image,2)))
return output_array