为什么fft的真实部分将图像转换为旋转+原始?

时间:2016-02-12 10:34:10

标签: matlab image-processing fft

我看过这张图片:

enter image description here

采用其FFT(2D)然后反向FFT以准确地获得图像:

imfft = fft2(photographer);
im = uint8(ifft2(imfft));

imshow(im); %Output is same image

但是当我改变傅立叶并且只采用真实部分时,

imfft = real(fft2(photographer));
im = uint8(ifft2(imfft));
imshow(im);

我得到这样的图像(请注意,尺寸变化无关紧要,只是因为从Matlab图形处理程序中保存):

enter image description here

为什么会这样?

更新

正如所建议的那样,这个问题发布在DSP StackExchange上,得到了答案here

1 个答案:

答案 0 :(得分:1)

实部仅表示对称基矢量(围绕FFT孔径中心对称的余弦波)。因此,任何仅使用实部(所有虚部= = 0)的IFFT重建只能(重新)生成围绕中心对称的图像(例如,通过根据您的示例对它们进行扭曲)。