MEDIAN FILTER:

In digital Image processing, removing the noise is one of the preprocessing techniques.

In digital Image processing, removing the noise is one of the preprocessing techniques.

The image noise may be termed as random variation of brightness or color information.

There are various types of image noise. Here a matlab program to remove 'salt and pepper noise' using median filtering is given.

The random occurrence of black and white pixels is ‘salt and pepper noise’.

The random occurrence of black and white pixels is ‘salt and pepper noise’.

The procedural steps for 2D median filtering:

Learn how to pad with zeros using MATLAB built_in function padarray.

FLOW CHART:

MATLAB CODE:

%READ AN 2D IMAGE

A=imread('zebra.jpg');

title('IMAGE WITH SALT AND PEPPER NOISE');

figure,imshow(A);

%PAD THE MATRIX WITH ZEROS ON ALL SIDES

modifyA=zeros(size(A)+2);

B=zeros(size(A));

%COPY THE ORIGINAL IMAGE MATRIX TO THE PADDED MATRIX

for x=1:size(A,1)

for y=1:size(A,2)

modifyA(x+1,y+1)=A(x,y);

end

end

%LET THE WINDOW BE AN ARRAY

%STORE THE 3-by-3 NEIGHBOUR VALUES IN THE ARRAY

%SORT AND FIND THE MIDDLE ELEMENT

for i= 1:size(modifyA,1)-2

for j=1:size(modifyA,2)-2

window=zeros(9,1);

inc=1;

for x=1:3

for y=1:3

window(inc)=modifyA(i+x-1,j+y-1);

inc=inc+1;

end

end

med=sort(window);

%PLACE THE MEDIAN ELEMENT IN THE OUTPUT MATRIX

B(i,j)=med(5);

end

end

%CONVERT THE OUTPUT MATRIX TO 0-255 RANGE IMAGE TYPE

B=uint8(B);

title('IMAGE AFTER MEDIAN FILTERING');

figure,imshow(B);

Learn how to add 'salt and pepper noise to an image'.Median filtering preserves the image without getting blurred. Median filtering is done on an image matrix by finding the median of the neighborhood pixels by using a window that slides pixel by pixel.

## 36 comments:

Excellent pieces. Keep posting such kind of information on your blog. I really impressed by your blog.

Vee Eee Technologies| Vee Eee Technologies

thank you so much for project lol

thanks a lot for this code

great, thankx a lot, wht can i say, amazing

thanks for this helpful code...

thank you..it helps alot.. :)

great job but why is my image become red after the MEDIAN FILTERING???

@HANEE

Kindly check whether the image is 2D or RGB image. If the image is RGB then convert it into grayscale and proceed.

it worked perfectly with Gaussian Filter but not with Median Filter(image becomes red), i'm now trying with other images to see whether it is a image problem or what..

thanks for this usefull code........

can we selection direction in a window ? if yes how is it possible ? actually i m thinking to preserve edges of image.......

thanks

I ve a problem with the Median Filter. The image becomes red.

Somebody can help me with this problem?

I ve also the problem that the picture becomes red with the Median Filter . Can somebody help? Thank you a lot

Do you have also an Matlab Code for the Gauss filter?

I didn t find / see one

Thanks

regrads,

CHristian

thanks. this is really helpful

whether any functions will change wen v change the version of matlab

hi can you give the same code for fuzzy median filter pa

nice work

Can someone code for Wiener Filter please for gray scale image

I ve also the problem that the picture becomes red with the Median Filter . Can somebody help? Thank you a lot

@Janardhan Mopada

Is your input Image RGB? if so, convert it to grayscale and proceed.

do you have a code for contour detection with many algorithm?

thank you very useful

Anybody can provide me the code of the 'Noise Reduction By Fuzzy Image Filtering''.

Sir, Let me know the code of Tri colour Filter(Image) / RGB only

median filtering will be work on syntax "medfilt2(gray scale image)"

Sir how to Mean filtering can apply on the DN (digital no.) values

of each pixel vector so as to smoothen out the SRC (spectral response curve) of a pixel for hyperspectral data?

Use rgb2gray and it will work fine!

thanks

what about average filter?

how to adapt thıs to 9*9 or 13*13 medıan fılter ? how ı do ıt?

how ı adapt matlab code to 9*9 or 13*13 medıan fılter ?

For rgb you need to separate 3 plates red, green, blue and aply median filtering on each plane.

And atlast combine them using cat function.

thank you sir

Awesome. Do you have the code for Average filtering also?

awesome. do you have the code for average filtering also?

## Enjoyed Reading? Share Your Views