how to do median filter without using medfilt2..

41 views (last 30 days)
hello, i need to do an image enhancement using median filter... but im not suppose to use medfilt2 or those function in matlab... how create my own function... im not sure on how to do it... can some1 help me in this..?? ~THANK YOU~

Accepted Answer

Image Analyst
Image Analyst on 22 Apr 2012
Use blockproc() or nlfilter() and inside the function call the sort() routine and take the middle value. If you can't even use those functions, then you'll have to do the whole thing yourself with a bunch of nested for loops.
  2 Comments
Hasan
Hasan on 7 Dec 2013
I=imread('super.jpeg');
I_G=double(rgb2gray(I));
IG_N=imnoise(I_G,'salt & pepper');
[r,c]=size(IG_N);
F_SP=zeros(r,c);
for i=2:r-1
for j=2:c-1
flt=[IG_N(i-1,j-1),IG_N(i-1,j),IG_N(i-1,j+1),IG_N(i,j-
1),IG_N(i,j),IG_N(i,j+1),IG_N(i+1,j-1),IG_N(i+1,j),IG_N(i+1,j+1)];
F_SP(i,j)=median(flt);
end
end
figure;imshow(IG_N,[]);
figure;imshow(F_SP,[]);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!