4

我目前正在尝试理解 2d 傅立叶变换定理。

根据我到目前为止所学到的知识,图像空间中的平移会导致相位差异,但不会导致频率空间中的幅度差异。

我试图用一个小例子来证明这一点,但它只适用于行中的移位,而不适用于列中的移位。这是一个小演示(我在这里只显示幅度图)

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 个震级图都应该产生相同的结果。谁能解释我在这里做错了什么?

非常感谢您的帮助,

此致,

小型的

4

1 回答 1

3

我认为您想使用 fft2,而不是 fft。

fft2 计算二维傅立叶变换,这就是你所说的你正在研究的内容。fft 只计算每一行的傅里叶变换。

如果您只是在代码中将 fft2 替换为 fft,那么一切都应该正常工作。

于 2012-12-10T23:40:38.043 回答