FFT of an image
Show older comments
Hi,
I need to apply the following conditions to remove blur in an image?
1.Load the image
2.compute fft of an image
3.shift frequency components to the center
4.define low pass filter
5.shift the filter to the center
6.Apply filter to the shifted fourier transformed image
7.inverse shift
8.inverse fourier transform
My code look like this:
i = imread('L3S3T1.jpg');
i = double(rgb2gray(i));
I = fftshift(fft(double(i)));
What does fftshift will do exactly?
Does it shift the frequency components to center
I strucked with defining a low pass
How to define it?
How to move it to the center
Thanks in advance
Accepted Answer
More Answers (1)
Walter Roberson
on 9 May 2012
0 votes
Using a low-pass filter on the frequency components will not do you any good at all. Either low-pass filter the image itself, or just zero the frequency components corresponding to high frequencies.
2 Comments
Jim
on 9 May 2012
Walter Roberson
on 9 May 2012
What I said is that you do not apply the low-pass filter to the *frequency* components (that is, to the output of the fft)
But see IA's response about blur, which is better than mine (I'd been up far far too late in the night.)
Categories
Find more on Image Filtering in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!