我目前正在尝试理解二维傅里叶位移定理。
根据我到目前为止所了解到的情况,图像空间中的平移会导致相位差异,但不会导致频率空间中的幅度差异。
我试图用一个小例子来演示这一点,但它只适用于行的移位,而不适用于列的移位。这是一个小演示(我只在这里显示幅度图)
clear all
close all
Iin = zeros(128);
Iin(10:20,10:20)=1;
figure,imagesc(Iin)
Y = fft(Iin);
figure, imagesc(fftshift(log10(abs(Y))));
Iin = zeros(128);
Iin(10:20,20:30)=1;
figure,imagesc(Iin)
Y = fft(Iin);
figure, imagesc(fftshift(log10(abs(Y))));
Iin = zeros(128);
Iin(20:30,10:20)=1;
figure,imagesc(Iin)
Y = fft(Iin);
figure, imagesc(fftshift(log10(abs(Y))));
在我看来,所有 3 个量级图都应该产生相同的结果。
谁能解释一下我在这里做错了什么?
非常感谢您的帮助,
此致,
Mini
我认为你想使用 fft2,而不是 fft。
fft2 计算二维傅里叶变换,这就是您所说的您正在研究的内容。 fft 仅计算每行的傅里叶变换。
如果您只是在代码中用 fft2 替换 fft,那么一切都应该有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)