Filtro de Canny [5] [6]: El algoritmo de Canny es un operador desarrollado por John F.
Canny en 1986 que utiliza un algoritmo de mltiples etapas para detectar una amplia
gama de bordes en imgenes.
Bsicamente, el filtro de deteccin de bordes de Canny consiste en una combinacin de
tcnicas, tales como el filtro Gaussiano para la reduccin del ruido y tambin el uso de
gradientes direccionales, permitiendo seleccionar slo los bordes que se encuentren en el
umbral especificado. Dentro de la deteccin de pxeles, se encuentra la umbralizacin.
Esta tcnica es una de las ms extendidas ya que permite convertir una imagen en niveles
de gris o en color, en una imagen binaria. De este modo, permite separar objetos de su
fondo de acuerdo a cierto nivel del umbral.
La funcin del filtro de Canny se describe como la suma de cuatro trminos exponenciales;
sin embargo se puede aproximar por la derivada primera de una Gaussiana.
El algoritmo est definido por las siguientes etapas:
1. Convolucin con Gaussiana en las direcciones x , y: La derivada de una Gaussiana es
susceptible al ruido; por esta razn se aplica una convolucin con una mscara
Gaussiana, para obtener una imagen con un ligero borroneado (blurring) que
disminuya el ruido.
El de esta Gaussiana es parmetro del algoritmo. Se aplica como dos
convoluciones de una dimensin por separado, dando por resultado las imgenes
componentes por direccin, Ix , Iy. (ejemplo de un filtro gaussiano de 5x5,
utilizado para crear la imagen de = 1.4:
, donde A es la imagen original y B el resultado de la convolucin entre la mscara
del filtro y la imagen original).
2. Convolucin con las derivadas Gaussianas en las direcciones x , y: Tambin se aplican
por separado en cada direccin, y a la correspondiente componente, para obtener
I'x , I'y.
3. Calcular la magnitud del gradiente: Las componentes se combinan para obtener la
magnitud del gradiente en cada pixel.
4. Aplicando eliminacin de puntos no mximos: Los pixeles borde tienen una direccin
asociada; la magnitud del gradiente en pixel borde debe ser mayor que la
magnitud del gradiente de los pixeles a cada lado del borde. Los pixeles que no son
mximos locales son eliminados. Desde el pixel en cuestin, seguir la direccin del
gradiente hasta encontrar otro pixel; ste es el primer vecino. Luego, desde el pixel
original, dirigirse en la direccin opuesta hasta encontrar un nuevo pixel, el
segundo vecino. Movindose de un vecino al otro se pasa a travs del pixel de
borde, cruzando el borde, por lo tanto la magnitud del gradiente debera ser mayor
en este ltimo pixel.
5. Umbralizacin de bordes: La umbralizacin empleada por el operador de Canny es
conocida como Histresis y consiste en la aplicacin de dos posibles umbrales, de
forma que, dado un segmento lineal, si un valor permanece por encima del umbral
superior ser inmediatamente aceptado, mientras que si el valor permanece por
debajo ser rechazado. Los puntos que permanezcan entre los dos lmites sern
aceptados si pueden ser conectados con pxeles vecinos. De esta forma la
posibilidad de particin del borde ser reducida drsticamente, debiendo fluctuar
por encima y por debajo del borde para que se produzca la rotura.