• canny(M, sigma, low, high): permite devolver una imagen de bordes binarios que resulta de la detección de bordes de Canny en la matriz M mediante la desviación estándar sigma y los umbrales de histéresis low y high. En la matriz de detección los puntos de bordes tienen el valor 1, y el fondo tiene el valor 0. El perímetro de la imagen tiene valores no definidos, puesto que los kernels no se solapan por completo con la imagen.
Esta función utiliza el algoritmo de Canny para detectar bordes en una imagen. El algoritmo de detección de bordes de Canny consta de las tres etapas siguientes:
1. Convolución de la imagen de entrada con una derivada de kernel gaussiano donde sigma es la desviación estándar del kernel gaussiano. sigma desempeña el papel de un parámetro de escala para los bordes: los valores grandes de sigma producen bordes de escala más gruesos, y los valores pequeños de sigma producen bordes de escala más finos. Los valores grandes de sigma también dan lugar a una mayor supresión del ruido.
2. Supresión de los valores no máximos en la dirección del gradiente de intensidad para cada píxel.
3. Definición de umbrales de histéresis mediante valores umbrales altos y bajos. En la definición de los umbrales de histéresis, los umbrales de las magnitudes de los gradientes de intensidad se definen primero mediante el valor umbral inferior. A continuación, se retienen los píxeles con magnitudes de gradiente por encima del umbral inferior, pero con segmentos conectados que tienen como mínimo un píxel con magnitud de gradiente mayor al umbral superior.
Argumentos
• M es una matriz de imagen.
• sigma es un número real mayor que cero, normalmente comprendido entre 0 y 2.