Búscalo aquí:

Detector de Bordes de Roberts en Matlab [código]



En Procesamiento Digital de Imágenes, los bordes corresponden a cambios locales significativos de intensidad en la imagen analizada, representando así una discontinuidad medida por un valor alto de la gradiente. Para la detección de bordes de una imagen existen dos tipos de detectores: operadores de gradiente y operadores direccionales. En este post presentamos el código fuente en Matlab del detector de bordes de Roberts que se basa en el uso del operador gradiente que aplica la derivada respecto a los ejes x y y de un píxel.


El operador de Roberts utiliza una máscara de 2 x 2 para aplicarla sobre el eje x de un píxel y otra máscara de la misma dimensión sobre el eje y del mismo píxel. Esta máscara aplicada a cada eje es en realidad una aproximación de la aplicación de la derivada. La desventaja del operador de Roberts para la detección de bordes se da debido al uso de una máscara pequeña, lo que hace que el resultado sea sensible al ruido.

El código fuente en Matlab del operador de Roberts para la detección de bordes es:

  1. function R = BordeRoberts(imagen)
  2. im=imread(imagen);
  3. imD = double(im);
  4. radio=1;
    %el operador de Roberts usa mascarilla de 2x2=>radio=1
  5. matriz = RefMatriz(imD,radio);
  6. [f,c] = size(matriz);
  7. for i=1+radio:(f-radio)
  8. for j=1+radio:(c-radio)
  9. g1=matriz(i-radio,j-radio)-matriz(i,j);
  10. g2=matriz(i-radio,j)-matriz(i,j-radio);
  11. G(i-radio,j-radio)=fix(g1+g2);
  12. end
  13. end
  14. R=Negativo(G);
  15. subplot(1,2,1);
  16. imshow(imagen);
  17. title('Imagen Original');
  18. subplot(1,2,2);
  19. imshow(uint8(R));
  20. title('Deteccion de Bordes usando Roberts');

El código de la función RefMatriz() lo pueden encontrar en el post de reflejar píxeles de una matriz. El código de la función Negativo() es el siguiente:

  1. function y=Negativo(imD)
  2. [f,c]=size(imD);
  3. for i=1:f
  4. for j=1:c
  5. nuevaI(i,j)=255-imD(i,j);
  6. end
  7. end
  8. y=nuevaI;
-->

Los resultados de aplicar el detector de bordes usando el operador de Roberts se pueden observar en la siguiente figura:



Espero les sea de utilidad.

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

1 comentario:

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