How to synthetic face images and to reconstruct them only from low-frequency Fourier features ?

2 views (last 30 days)
Hello everybody I need to reconstruct face images by using only low-frequency Fourier coefficients. So how to keep only the low frequency part . this code keep fourier coeffecients from all bands:
imageA = imread('greekchurch','jpg');
fftA = fft2(double(imageA));
figure, imshow(abs(fftshift(fftA)),[24 100000]), colormap gray
title('Image A FFT2 Magnitude')
figure, imshow(angle(fftshift(fftA)),[-pi pi]), colormap gray
title('Image A FFT2 Phase')
fftC = abs(fftA).*exp(i*angle(fftB));
imageC = ifft2(fftC);
How to preserve only low-frequency Fourier coefficients . Thanks for your attention

Accepted Answer

Image Analyst
Image Analyst on 9 Feb 2013
  6 Comments
Mariem Harmassi
Mariem Harmassi on 2 Mar 2013
Hello the problem is as follow :Given an image of size 64*80 , in order to apply the fastFourier transform (FFT) algorithm, image must be extended to 128 128 pixels. Thus, the full bandwidth available is 64 due to the symmetry of the Fourier coefficients. As explained above, i need only the low-frequency Fourier coefficients. In the experiments, i must select the first 16*16 FFT coefficients, which cover about 50% of all the energy, to form the global fourier feature vector (GFFV).how to extract the the first 16*16 FFT coefficients.Can you give me a code .
Image Analyst
Image Analyst on 2 Mar 2013
If you haven't used fftshift() then the low frequencies will be in the 4 corners, so just zero out everything except for 8 by 8 blocks in the corners.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!