Búscalo aquí:

Suavizamiento de Imágenes usando el filtro Gaussiano en Matlab [Código]



Para el suavizamiento de imágenes con presencia de ruido, existen diversidad de filtros, uno de ellos es el filtro Gaussiano que usa una máscara basada en una distribución Gaussiana, siendo la más usada la de W = [1 2 1; 2 4 2; 1 2 1]*(1/16), la cual se caracteriza por asignar un mayor peso al píxel central y a los píxeles que se encuentran cercano a este, y menor peso a los píxeles alejados. En este post presentamos el código fuente en Matlab del filtro Gaussiano para el suavizamiento de imágenes en escala de grises.



El código fuente en Matlab del filtro Gaussiano es:

  1. function S = SuavizamientoGaussiano(imagen,tam)
  2. im=imread(imagen);
  3. imD = double(im);
  4. radio = fix((tam-1)/2);
  5. matriz = RefMatriz(imD,radio);
  6. [f,c] = size(matriz);
  7. peso=16;
  8. W=[1 2 1;2 4 2;1 2 1]*(1/peso);
  9. for i=(1+radio):(f-radio)
  10. for j=(1+radio):(c-radio)
  11. fil=1;
  12. for a=(i-radio):(i+radio)
  13. col=1;
  14. for b=(j-radio):(j+radio)
  15. aux(fil,col)=matriz(a,b);
  16. col=col+1;
  17. end
  18. fil=fil+1;
  19. end
  20. suma=0;
  21. for a=1:tam
  22. for b=1:tam
  23. suma=suma+aux(a,b)*W(a,b);
  24. end
  25. end
  26. G(i-radio,j-radio)=fix(suma);
  27. end
  28. end
  29. S=G;
  30. subplot(1,2,1);
  31. imshow(imagen);
  32. title('Imagen Original');
  33. subplot(1,2,2);
  34. imshow(uint8(G));
  35. title('Filtro de Suavizamiento Gaussiano');

-->
El código fuente de la función RefMatriz() lo encuentran en el post de reflejar los píxeles de una imagen. El resultado de aplicar el filtro Gaussiano se puede observar en la siguiente imagen.




Espero les sea de utilidad.

Quieres leer más post como éste???...suscribete aquí!!!

9 comentarios:

  1. Justo lo que andaba buscando. Se agradece.
    Lo que mas bien no entiendo es porque usar este filtro en la deteccion de esquinas =S

    Un saludo.

    ResponderEliminar
  2. Hola no tendras una aplicacion sobre algoritmos geneticos, sobre reorganizacion de trabajadores con algoritmos geneticos

    ResponderEliminar
  3. hola sabes me gustaria saber si tienes el algoritmo de canny por cierto me encanta tu blog me es muy util

    ResponderEliminar
  4. Buanos dias alguien me podria decir como puedo colocar a funcionar la la funcion ya que me slen muchos errores al intentarlo

    ResponderEliminar
  5. Hola Edisson, además del código presentado en este post, en el mismo directorio de trabajo de matlab debes de colocar el código fuente de la función de reflejar los píxeles de una matriz: RefMatriz(), que se encuentra también en Matlab y esta disponible para descargar en el link que se encuentra en este post.

    saludos

    ResponderEliminar
  6. oye amigo jorge valvede buena tardes soy de mexico de casulidad no tienes la aplicacionde filtros en matlab para imagenes tomograficas consus funciones mi correo es javier.2393hotmail.com para estar en contacto agadeceria tu atencio

    ResponderEliminar
    Respuestas
    1. Para imágenes tomográficas tienes que tener en cuenta el domínio en el que se encuentran los píxeles, el cual tiene que ver mucho con la extensión/formato de las imágenes a procesar.

      sds

      Eliminar
  7. tengo una duda, cuando me piden tam para llamar la funcion es un numero que corresponde a la mascara?

    ResponderEliminar
    Respuestas
    1. Depende del tamaño de la mascara, en este caso al ser de 3x3, tam=3.

      Eliminar

Bienvenido a jcGeorge's Blog!!!

Por favor deja tu comentario, consulta o sugerencia, procura mantener habilitado tu perfil de Blogger o deja un enlace a tu blog o web.

Gracias por leer este blog!!!

Related Posts Plugin for WordPress, Blogger...