Este metodo recorre la imagen pixel a pixel y opera con los pixeles mas cercanos para poder dar un suavizado a la imagen que reduzca los objetos no deseados en las mismas
Con esto vamos cubriendo cada uno de nuespros pixeles que no son los deseados como por ejemplo una gota de agua y se los va tapando con los pixeles cercanos.
Estos dos metodos para suavisar imagenes son muy interesantes, el filtro de la mediana nos suaviza toda la imagen para poder corregir los errores en los pixeles en cada una de ellas ademas y en el filtro de la media solamenten es la suavizacion del centro de la imagen y los bordes los deja con brillo normal
ResponderEliminarEste codigo encontre para poder trabajar con imagenes y con el filtro de la media On- line en MatLab
ResponderEliminarv=uint8(zeros (9,1));
I1=imread('viejo.jpg');
[m,n]=size(I1);I2=uint8(zeros (m,n));
for i=2:m-1
for j=2:n-1
v=[I1(i-1,j-1),I1(i-1,j),I1(i-1,j+1),I1(i,j-1),I1(i,j),I1(i,j+1),I1(i+1,j-1),I1(i+1,j),I1(i+1,j+1)];
v=sort(v);
I2(i,j)= v(5);
end
end
I1(2:m-1,2:n-1)=I2(2:m-1,2:n-1);
imshow(I1)
Codigo hecho en matlab que realiza el trataminto de la imagen.
Me parece muy util este proceso apesar de que se pierde un poco la intensidad pero ala vez se presenta ganacia con lo que al borde se refiere...
ResponderEliminarPOR LUIS SANCHEZ
ResponderEliminarES MUY INTERESANTE LO QUE SE PUEDE HACER CON AMBOS FILTROS, EL UNO NOS SUAVIZA EL CENTRO DE LA IMAGEN Y EL OTRO NOS SUAVISA EL CENTRO MAS NO LOS BORDES, LOS DEJKA INTACTOS.
EXISTE OTRO METODO LLAMADO FILTRO DE GAUSSIANO.
LAS VENTAJAS DEL FILTRO GAUSSIANO FRENTE AL FILTRO DE MEDIA SON:
ES SEPARABLE: ES DECIR, EN LUGAR DE REALIZAR UNA CONVOLUCIÓN BIDIMENSIONAL, PODEMOS REALIZAR DOS CONVOLUCIONES UNIDIMENSIONALES. UNA EN SENTIDO HORIZONTAL Y OTRA EN SENTIDO VERTICAL.
UN EJEMPLO DE MATLAB PARA TRABAJAR CON EL FILTRO DE LA MEDIA:
On- line en MatLab
v=uint8(zeros (9,1));
I1=imread('viejo.jpg');
[m,n]=size(I1);I2=uint8(zeros (m,n));
for i=2:m-1
for j=2:n-1
v=[I1(i-1,j-1),I1(i-1,j),I1(i-1,j+1),I1(i,j-1),I1(i,j),I1(i,j+1),I1(i+1,j-1),I1(i+1,j),I1(i+1,j+1)];
v=sort(v);
I2(i,j)= v(5);
end
end
I1(2:m-1,2:n-1)=I2(2:m-1,2:n-1);
imshow(I1)