Image processing (2D FFT)

okay so here is the problem i have and i cant find a proper solution to.
We have a school project to do and we decided that we would do it in Matlab
the problem is: We should do a 2D fft of photo, then we have to use only 1/3 of values to draw the picture and we should draw a original photo and next to it the approximation of that photo using fourier basis
I have never done anything like this, we played a bit with fourier transform in school but my knowledge is not enough to solve this type of problem
and our teacher is like if we ask something most likely she would say that we should use internet to find the solution so here i am trying my luck :D

3 个评论

So you want to throw away
  1. 2/3 of the spatial domain image and redraw, or
  2. 2/3 of the FT image, reconstruct, and redraw?
Which 2/3 of the spatial or FT image do you want to throw away? Just randomly select pixels? Just throw away the outer 2/3 of the FT image, which essentially does a low pass filter?
2/3 of the FT image
Easy. Use fft2() then use indexing to erase bands of the image like
ftImage = fftshift(fft2(grayImage));
ftImage(row1:row2, :) = 0;
Set all four border bands to zero then call fftshift() again followed by ifft2(). Show your work below.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by