EJERCICIO (Filtro de la Mediana)
4.)
Los píxeles de la nueva imagen se generan calculando la mediana del conjunto de píxeles del entorno de vecindad del píxel correspondiente a la imagen origen. De esta forma se homogeneizan los píxeles de intensidad muy diferente con respecto a la de los vecinos. Este tipo de filtro es bastante indicado cuando se tiene ruido aleatorio.
En Matlab la instrucción empleada para realizar el filtro de la mediana es medfilt2.
B = medfilt2(A)
Donde A es la matriz de entrada a la que se le aplica el filtro de la mediana utilizando por defecto una vecindad de 3X3.
CODIGO
imc=imread('C:\MATLAB7\work\imagenes\lena.jpg');
im=rgb2gray(imc);
fg = imnoise(im,'gaussian');
fs = imnoise(im,'salt & pepper',0.1)
h1=fspecial('average');
media1=imfilter(fg,h1);
media2=imfilter(fs,h1);
mediana1=medfilt2(fg);
mediana2=medfilt2(fs);
%Representaciones de las imágenes
subplot(2,3,1),subimage(fg),title('Imagen con ruido gaussiano');
subplot(2,3,4),subimage(fs),title('Imagen con ruido aleatorio');
subplot(2,3,2),subimage(media1),title('Filtro media');
subplot(2,3,5),subimage(media2),title('Filtro media');
subplot(2,3,3),subimage(mediana1),title('Filtro mediana');
subplot(2,3,6),subimage(mediana2),title('Filtro mediana');
Investigando un poco mas se puede realizar otro filtro de la mediana con otro codigo utilizando sentencias como el ford y if para aplicar en la matris de la imagen para sacar la media como un ejemplo de codigo seria el siguiente el cual puede ser aplicable para los graficos.
ResponderEliminarfunction A=median004(A);
clc;
A2=A;
A=double(A);
[f c]=size(A);
temp=0;
H=zeros(1,9);
for i=1:3:f
for j=1:3:c
n=1;
for k=0:2
for l=0:2
if i+k>f || j+l>c
break;
else
H(n)=A(i+k,j+l);
n=n+1;
end;
end;
end;
for k=1:8
for l=k+1:9
if H(k)f || j+l>c
break;
else
A(i+k,j+l)=H(5);
end;
end;
end;
end;
end;
figure(1)
subplot(1,2,1)
imshow(uint8(A2))
title('original image')
subplot(1,2,2)
imshow(uint8(A))
El cual seria de probar.
Este codigo en evaluar el valor de los píxeles y cambiar sus valores al de aquél que tenga un valor central....
ResponderEliminarSe puede ver como los pixeles cambian y como son alterados en su vecindad asi llegando a tener la extructura de los mismos pixeles en la imagen y sus valores obtenidos para suavisar arreglar la imagen etc.
ResponderEliminar