MEDIAN FILTER:
In digital Image processing
, removing the noise is one of the preprocessing techniques.
In digital Image processing
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.
thank you so much for project lol
ReplyDeletethanks a lot for this code
ReplyDeletegreat, thankx a lot, wht can i say, amazing
ReplyDeletethanks for this helpful code...
ReplyDeletethank you..it helps alot.. :)
ReplyDeletegreat job but why is my image become red after the MEDIAN FILTERING???
ReplyDelete@HANEE
ReplyDeleteKindly 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..
ReplyDeletethanks for this usefull code........
ReplyDeletecan we selection direction in a window ? if yes how is it possible ? actually i m thinking to preserve edges of image.......
thanks
ReplyDeleteI ve a problem with the Median Filter. The image becomes red.
ReplyDeleteSomebody 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
ReplyDelete
ReplyDeleteDo you have also an Matlab Code for the Gauss filter?
I didn t find / see one
Thanks
regrads,
CHristian
thanks. this is really helpful
ReplyDeletewhether any functions will change wen v change the version of matlab
ReplyDeletehi can you give the same code for fuzzy median filter pa
ReplyDeletenice work
ReplyDeleteCan someone code for Wiener Filter please for gray scale image
ReplyDeleteI ve also the problem that the picture becomes red with the Median Filter . Can somebody help? Thank you a lot
ReplyDelete@Janardhan Mopada
ReplyDeleteIs your input Image RGB? if so, convert it to grayscale and proceed.
do you have a code for contour detection with many algorithm?
ReplyDeletethank you very useful
ReplyDeleteAnybody can provide me the code of the 'Noise Reduction By Fuzzy Image Filtering''.
ReplyDeleteSir, Let me know the code of Tri colour Filter(Image) / RGB only
ReplyDeleteFor rgb you need to separate 3 plates red, green, blue and aply median filtering on each plane.
DeleteAnd atlast combine them using cat function.
median filtering will be work on syntax "medfilt2(gray scale image)"
ReplyDeleteSir how to Mean filtering can apply on the DN (digital no.) values
ReplyDeleteof 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!
ReplyDeletethanks
ReplyDeletewhat about average filter?
ReplyDeletehow to adapt thıs to 9*9 or 13*13 medıan fılter ? how ı do ıt?
ReplyDeletehow ı adapt matlab code to 9*9 or 13*13 medıan fılter ?
ReplyDeletethank you sir
ReplyDeleteAwesome. Do you have the code for Average filtering also?
ReplyDeleteawesome. do you have the code for average filtering also?
ReplyDeleteThanks for this helpful code
ReplyDeletethe image turned red. there is some problem kindly rectify.
ReplyDelete@AASTHA SINGH
ReplyDeleteThe code is for grayscale image. Kindly check whether it is rgb or grayscale.
can i use this median filter code to remove noise from ultrasound image????? plsss reply
ReplyDeleteHow would i change this for a 7x7 median filter?
ReplyDeleteWhat is the meaning of med and med(5). Idk what that means and ive been scratchig my head for the past 1 hr
ReplyDeletethank you, really helpful
ReplyDeleteHow to change this for a 7x7 or 5x5 neighborhood ?
ReplyDelete