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

Why real part of fft converts image into rotation + original?

我已阅读此图片:

对其进行 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 图形处理程序中保存的):

为什么会这样?

更新

根据建议,此问题已发布在 DSP StackExchange 上并得到了答案 here

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