how to do median filter without using medfilt2..

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~

 Respuesta aceptada

Image Analyst
Image Analyst el 22 de Abr. de 2012

1 voto

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 comentarios

ganesh
ganesh el 22 de Abr. de 2012
owh... ok ok... thx alot....
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,[]);

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 22 de Abr. de 2012

Comentada:

el 7 de Dic. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by