Búscalo aquí:

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



En Procesamiento Digital de Imágenes, uno de los operadores usado para la detección de bordes en imágenes es el operador de Prewitt, el cual usa una vecindad de 3 x 3 para la convolución por cada píxel de la imagen analizada. Con este tipo de máscara usada se logra evitar el cálculo de la gradiente en el punto intermedio. En este post presentamos el código fuente en Matlab del operador de Prewitt para la deteción de bordes en imágenes en escala de grises.



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

  1. function P = BordePrewitt(imagen)
  2. im=imread(imagen);
  3. imD = double(im);
  4. radio=1;
    %el operador de Prewitt usa mascarilla de 3x3=>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. sumfil=(matriz(i+radio,j-radio)+matriz(i+radio,j)+
    matriz(i+radio,j+radio))-(matriz(i-radio,j-radio)+
    matriz(i-radio,j)+matriz(i-radio,j+radio));
  10. sumcol=(matriz(i-radio,j+radio)+matriz(i,j+radio)+
    matriz(i+radio,j+radio))-(matriz(i-radio,j-radio)+
    matriz(i,j-radio)+matriz(i+radio,j-radio));
  11. G(i-radio,j-radio)=fix(sumfil+sumcol);
  12. end
  13. end
  14. N=Negativo(G);
  15. P=N;
  16. subplot(1,2,1);
  17. imshow(imagen);
  18. title('Imagen Original');
  19. subplot(1,2,2);
  20. imshow(uint8(N));
  21. title('Deteccion de Bordes usando Prewitt');

-->
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:
  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 usar el operador de Prewitt se observan en la siguiente imagen:




Espero les sea de utilidad.

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

1 comentario:

  1. gracias por la informacion y buena explicacion, te hago una consulta, el algoritmo de deteccion de bordes de Canny lo realizaste?

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