Header Ads

ad728
  • Posts recientes

    Filtro de Realce Paso Alto para Imágenes en Matlab [código]



    Así como se ha evaluado algunos métodos de filtros de suavizamiento, ahora veremos un filtro de realce que tiene por objetivo intensificar detalles finos de una imagen, acentuando las orillas (bordes). La máscara de convolución de los filtros de realce se caracterizan por tener coeficientes positivos cerca a su centro y negativos en la periferia. En este post presentamos el código fuente en Matlab del filtro de realce de Paso Alto que se encarga de eliminar los componentes de bajas frecuencias y mantener las de altas frecuencias.

    El código fuente en Matlab de la función del filtro de realce es:

    1. function S = FiltroRealce(imagen,tam)
    2. im=imread(imagen);
    3. imD = double(im);
    4. alto=PasoAlto(imD,tam);
    5. [f,c]=size(alto)
    6. for i=1:f
    7. for j=1:c
    8. G(i,j)=imD(i,j)+alto(i,j);
    9. end
    10. end
    11. S=G;
    12. subplot(1,2,1);
    13. imshow(imagen);
    14. title('Imagen Original');
    15. subplot(1,2,2);
    16. imshow(uint8(G));
    17. title('Filtro de Realce');

    -->
    El código en Matlab de la función PasoAlto() es:

    1. function S = PasoAlto(imD,tam)
    2. radio = fix((tam-1)/2);
    3. matriz = RefMatriz(imD,radio);
    4. [f,c] = size(matriz);
    5. peso=8;
    6. W=[-1 -1 -1;-1 8 -1;-1 -1 -1]*(1/8);
    7. for i=(1+radio):(f-radio)
    8. for j=(1+radio):(c-radio)
    9. fil=1;
    10. for a=(i-radio):(i+radio)
    11. col=1;
    12. for b=(j-radio):(j+radio)
    13. aux(fil,col)=matriz(a,b);
    14. col=col+1;
    15. end
    16. fil=fil+1;
    17. end
    18. suma=0;
    19. for a=1:tam
    20. for b=1:tam
    21. suma=suma+aux(a,b)*W(a,b);
    22. end
    23. end
    24. G(i-radio,j-radio)=fix(suma);
    25. end
    26. end
    27. S=G;

    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 de realce de Paso Alto se puede observar en la siguiente imagen:




    Espero les sea de utilidad.

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

    1 comentario:

    1. Hola, buen día, muchísimas gracias por su blog, me ha sido de gran ayuda, y le quería comentar.
      Cuando realizo este filtro me sale el siguiente error:

      ??? Subscript indices must either be real positive integers or logicals.

      Error in ==> PasoAlto at 45
      G(i-radio,j-radio)=fix(suma);

      Error in ==> FiltroRealce at 6
      alto = PasoAlto(imagen,tam);

      Sabe a que se puede deber?

      ResponderEliminar

    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...

    Post Top Ad

    Post Bottom Ad

    ad728