how i can implement lowpass filter on image using matlab
197 views (last 30 days)
Image Analyst on 21 May 2013
One way is to just convolve with a kernel that has all positive weights, like a box filter:
boxKernel = ones(21,21); % Or whatever size window you want.
blurredImage = conv2(grayImage, boxKernel, 'same');
imfilter() does a similar (though not exact) thing. The more pointed the filter is in the middle, the less filtering it will do, and the bigger the window size, the more blurring it will do. For example, a Gaussian filter does less blurring (filtering) than a box filter of the same window size. A bigger box (e.g. 31 x 31) will blur more than a smaller one (e.g. 3 x 3).
You can do other, non-linear filters in the spatial domain. You can do linear filtering in the Fourier domain if you want to and have reason to, like you have known frequencies you want to remove, or you have a periodic structure you want to get rid of.
Amith Kamath on 20 May 2013
I am assuming you need to smooth (low pass) an image. These two functions are what you need to use:
specifically, the 'gaussian' filter.