Is there an accurate way to create an aliased image from the Fourier transform of the original image?
in other words, i have the Fourier coefficients of an image and i want to make down-sample in frequency domain.
Answer
I am trying to construct an aliasing image.
I=rgb2gray(imread('Liver.png')); % a 512*512 image
subplot(1,2,1),imshow(I),title('Original image') % shown on the left side of figure below
when you implement F=fftshift(fft2(I));
, the corresponding axis represent the frequency range of [-255:256]/512;
and the cut-off frequency U = V = 256/512 = 0.5;
based on Nyquist Sampling Theorem, the sampling periods in spatial domain should satisfy
delta_x<=1/(2*U)=1;
delta_y<=1/(2*V)=1;
to avoid the aliasing.
So if your bandwidth of recorder is 64 * 64
, the corresponding point interval in spatial domain is 1 / (64/256) = 4. Thus,
Ia=imresize(I(1:4:end,1:4:end),[512 512]);
subplot(1,2,2),imshow(Ia),title('Aliased image') % shown on the right side of the figure below
You can observe the aliasing effect at the edge.
No comments:
Post a Comment