I am try to grasp the idea of frequency domain for images. I think get the basics, but now I've stuck with a question that I can't find appropriate answer anywhere. How are frequency domain and complex numbers in relationship? I've read this article from DSPguide and I understand that after applying DFT to an image in spatial domain, we get two planes: real and imaginary plane. By doing some calculations, we can get amplitude and phase planes. For what is the phase plane used for?


Why don't you try it? Since points in the frequency domain correspond to sine waves in the image domain, it is reasonable to assume that the phase of the entries in the frequency domain controls the phase of the resulting sine wave.

Try this

f1 = zeros(255, 255);

% Create image1 in the frequency domain - maintain conjugate symmetry 
% so we'll get a real image when we call ifft 
f1(5,1)   = 255*255*.5 * exp(-j*pi/4);
f1(252,1) = 255*255*.5 * exp(j*pi/4);

% The second image is essentially the same except the phase is 0.
f2 = abs(f1); % no phase

imshow(ifft2(f2)); title('phase = 0');
imshow(ifft2(f1)); title('phase = pi/4')

The result is this figure and and this one:

And you can clearly see that the difference is the sine wave phase only.

If you look at the values along the y-axis you'll see this


The real and imaginary plane are also the symmetric and anti-symmetric planes. Image content that is symmetric around the center lines will show up in the real plane. Image content that is opposite in brightness across the center lines will appear in the imaginary plane. Data that is neither or some combination of both will end up in both, with the phase angle indicating the mix or a shift (or rotation wrapping around the edges) from symmetric to anti-symmetric.

  • $\begingroup$ Note that it is possible to take any gray scale image, and separate it into a symmetric image plus an anti-symmetric image, such that their composite sum (plus a constant offset) is equivalent to the original image. $\endgroup$ – hotpaw2 Mar 16 '14 at 16:11

Not the answer you're looking for? Browse other questions tagged or ask your own question.