Filtro de la Media
Genera una nueva imagen, de donde cada pixel adquiere su intensidad promediando los valores de intensidad de los pixeles vecinos.
Utilizando las imágenes anteriores, realizamos las mismas operaciones para capturar la imagen en una variable y para colocar la dimensión deseada, además de separar las 3 matrices RGB.
image_or1=imread('image1.jpg');
image_or2=imread('image2.jpg');
image1=image_or1(1:313,1:400,:);
image2=image_or2(1:313,1:400,:);
planeR1=image1(:,:,1);
planeR2=image2(:,:,1);
planeG1=image1(:,:,2);
planeG2=image2(:,:,2);
planeB1=image1(:,:,3);
planeR2=image2(:,:,3);
Para obtener el filtro de la media
[n,m]=size(planeR1);
for k=1:3
for i=2:n-1
for j=2:m-1
v=[image1(i-1,j-1) image1(i-1,j) image1(i-1,j+1) image1(i,j-1) ...
image1(i,j) image1(i,j+1) image1(i+1,j-1) image1(i+1,j)...
image1(i+1,j+1)];
v=sort(v);
image1(i,j,k)=v(5);
end
end
end
figure; imshow(image1)
Filtro de la mediana
Este filtro genera una nueva imagen, cuyos pixeles se generan calculando la mediana del conjunto de los pixeles vecinos de la imagen origen, logrando homogenizar los pixeles que tengan intensidades diferentes.
[m,n]=size(planeR2);
for i=2:m-1
for j=2:n-1
v=uint8(image2(i-1,j-1)+image2(i-1,j)+image2(i-1,j+1)+...
image2(i,j-1)+image2(i,j)+image2(i,j+1)+image2(i+1,j-1)+...
image2(i+1,j)+image2(i+1,j+1));
image2(i,j)=v/9;
end
end
figure; imshow(image2)
Y ahora un ejemplo simple que compara 2 imágenes
for k=1:3
comp(:,:,k)=image1(:,:,k)-image2(:,:,k);
end
figure; imshow(comp)
Gracias al filtraje de imágenes, podemos eliminar el ruido o efectos que no sean propias de la imagen, nos puede ayudar a eliminar imperfecciones de una imagen antigua que por causa del tiempo ha formado efectos que degeneren a la imagen.
ResponderEliminarcaon el filtro ed la mediana l¡podemos utilizar en imagenes para realizar un suavizado de las mismas ademas de la eliminacion de ruido,como por ejemplo el ruido impulsivo o conocido como ruido sal y pimienta
ResponderEliminar