I have read this image:
taken its FFT (2D) and then Inverse FFT to get exactly the image back:
imfft = fft2(photographer);
im = uint8(ifft2(imfft));
imshow(im); %Output is same image
But when I change the fourier and take only the real part,
imfft = real(fft2(photographer));
im = uint8(ifft2(imfft));
imshow(im);
I get an image like this (note that size change is irrelevant and only due to saving it from Matlab figure handler):
Why does this happen?
UPDATE
As suggested, this question was posted on DSP StackExchange and got the answer here