Fiphe
Fiphe

Reputation: 370

How can the ideal low pass filter from the frequency domain can be applied?

I have an image where I add a Gaussian noise. I need to use the ideal low pass filter to remove the noise but I cannot really see any examples on the official Matlab documentation. There examples but not with images and I cannot really grasp the concept behind this filter. So could somebody explain how the ideal low pass filter can be used to remove noise?

image = imread('eight.tif');
imshow(image );

noisyImage = imnoise(image,'gaussian',0.02);
imshow(noisyImage);

enter image description here

Upvotes: 0

Views: 208

Answers (1)

MeiH
MeiH

Reputation: 1855

If you know the standard deviation of the noise, It's good to use a Gaussian filter with that specific standard deviation. Although in most of the cases, it's good to use Bilateral filter (imbilatfilt) which is a gaussian filter with some other features that preserves the edges.

If you don't know what your noise is, It's best to use Wiener filter ([J,noise_out] = wiener2(I,[m n])). This filter observes the frequency behavior of the image and looks for a special pattern which is statistically consistent with noise. In other word, it estimate the noise of image and filter that specific noise for you. noise_out is the estimates of the additive noise power and m,n are the sizes of the filter's kernel (which I suggest something like 5*5 or 7*7).

Of course there are some other filtering methods including handmade ones, but those need more effort and lots of trial and error.

Upvotes: 3

Related Questions