# IMAGE PROCESSING

" Two roads diverged in a wood, and I,
I took the one less traveled by,
And that has made all the difference "-Robert Frost

### MATLAB PROGRAM : 2D MEDIAN FILTERING FOR SALT AND PEPPER NOISE WITHOUT USING medfilt2 FUNCTION

MEDIAN FILTER:

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 procedural steps for 2D median filtering:

FLOW CHART:

MATLAB CODE:

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.

Like "IMAGE PROCESSING" page

Movies Gallery 2011 said...

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

Phongthorn.jant said...

thank you so much for project lol

jeena said...

thanks a lot for this code

punya said...

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

Pooja Dixit said...

annah said...

thank you..it helps alot.. :)

HANEE said...

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

Aaron Angel said...

@HANEE

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

HANEE said...

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..

Awanish Shukla said...

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.......

Christian Andreoli said...

thanks

Christian Andreoli said...

I ve a problem with the Median Filter. The image becomes red.
Somebody can help me with this problem?

Christian Andreoli said...

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

Christian Andreoli said...

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

I didn t find / see one
Thanks

CHristian

Deniz Eraslan said...

Kalpana Sekar said...

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

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

sajid khan said...

nice work

sajid khan said...

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

Aaron Angel said...

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

kassambe said...

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

tememe said...

thank you very useful

Vivek Tiwari said...

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

Dreams . . / Hopes . . / Life . . . (Engineering) said...

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

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

ajay said...

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?

Isa Bastos said...

Use rgb2gray and it will work fine!

moussa GMR said...

thanks

moussa GMR said...

safak said...

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

safak said...

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

Kanak das said...

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.

Unknown said...

thank you sir

Kristen Nguyen said...

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

Kristen Nguyen said...

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

AASTHA SINGH said...

the image turned red. there is some problem kindly rectify.

Aaron Angel said...

@AASTHA SINGH
The code is for grayscale image. Kindly check whether it is rgb or grayscale.

KHATHEEJA NISHANA said...

can i use this median filter code to remove noise from ultrasound image????? plsss reply

Unknown said...

How would i change this for a 7x7 median filter?