Universidad de las Fuerza Armadas ESPE Extensin Latacunga, Quijano y Ordez y Hermanas Pez.
DETECCION DE BORDES: ALGORITMO DE CANNY
Washington Daniel Quero Caiza
and_aq95@live.com
bordes pueda ser considerado ptimo debe cumplir los
siguientes puntos:
RESUMEN: La deteccin de bordes es una tcnica
de procesamiento de imgenes para la bsqueda de los
lmites de objetos dentro de las imgenes. Funciona
mediante la deteccin de discontinuidades en el brillo. La
deteccin de bordes se utiliza para la segmentacin de
imgenes y extraccin de datos en reas como
procesamiento de imgenes, visin por computadora, y la
visin de mquina. Matlab trae implementados varios
algoritmos para la deteccin de bordes. El comando que
se utiliza en Matlab para esto es el edge, la versin ms
bsica de este comando es edge(I), donde I es la imagen
en forma de matriz a la cual se le va aplicar la deteccin
de bordes.
PALABRAS
CLAVE:
extraccin, algoritmo.
bordes,
discontinuidad,
Para satisfacer estos requisitos Canny utiliza el
clculo de variaciones - una tcnica que encuentra la
funcin que optimiza un funcional indicado. La funcin
ptima en el algoritmo de Canny es descrito por la suma
de cuatro trminos exponenciales, pero se puede
aproximar por la primera derivada de una gaussiana.
ABSTRACT: Edge detection is an image
processing technique for finding the boundaries of objects
within images. It works by detecting discontinuities in
brightness. Edge detection is used for image
segmentation and data mining in areas such as image
processing, computer vision and machine vision. Matlab
implemented brings several algorithms for edge detection.
The command used in Matlab for this is the edge, the most
basic version of this command is edge (I), where I is the
image as a matrix to which it will apply edge detection.
KEYWORDS:
algorithm.
edges,
discontinuity,
Buena deteccin
El algoritmo debe marcar el mayor nmero
real en los bordes de la imagen como sea
posible.
Buena localizacin
Los bordes de marca deben estar lo ms
cerca posible del borde de la imagen real.
Respuesta mnima
El borde de una imagen slo debe ser
marcado una vez, y siempre que sea
posible, el ruido de la imagen no debe crear
falsos bordes.
2 ETAPAS DEL ALGORITMO DE CANNY
Esta tcnica, que se caracteriza por estar
optimizada para la deteccin de bordes diferenciales,
consta de 3 fases pero algunos autores agregan una
ultima fase, siendo en total 4 fases.
extraction
1 INTRODUCCIN
El operador de deteccin de bordes de Canny fue
desarrollado por un catedrtico de la universidad de
Berkeley (EEUU) en 1986 y se basa en un algoritmo de
mltiples fases para detectar un amplio rango de bordes.
Es sin duda el operador ms utilizado en la deteccin de
bordes
Obtencin del gradiente
Supresin no mxima al resultado del
gradiente
Histresis de umbral a la supresin no
mxima
Cierre de contornos abiertos
Obtencin del gradiente:
El objetivo de Canny era descubrir el algoritmo
ptimo para la deteccin de bordes. Un detector ptimo
significar una buena deteccin, el algoritmo debe marcar
tantos bordes reales como sea posible, una buena
localizacin, los bordes marcados deben estar lo ms
cerca posible del borde en la imagen real, y por ltimo una
mnima respuesta, es decir, un borde dado debe ser
marcado slo una vez y donde sea posible el ruido
presente en la imagen no debera crear falsos bordes.
Para obtener el gradiente se tiene que suavizar la
imagen
Aplicar a la imagen I un suavizado gaussiano G o
filtro gaussiano (tambin se puede aplicar otros filtros
)J=I*G
Para calcular el kernel gaussiano G utilizar la
siguiente ecuacin
El propsito de Canny era descubrir el algoritmo
ptimo de deteccin de bordes. Para que un detector de
Universidad de las Fuerza Armadas ESPE Extensin Latacunga, Quijano y Ordez y Hermanas Pez.
.
En seguida calcular el gradiente:
Para cada pixel de la imagen J(i,j)
Calcular las componentes del gradiente Jx
y Jy
Calcular la magnitud de los bordes
Estimar la orientacin de la normal de los
bordes
3 EJEMPLO
A continuacin, utilizando el software MatLab, se
realizara una prctica para implementar el presente
algoritmo.
Figura.2 Imagen en escala de grises
%ALGORITMO DE CANNY - DETECCION DE
BORDES
a=imread('era5.jpg');
a1=imread('Era_Hielo.jpg');
b=rgb2gray(a);
b1=rgb2gray(a1);
c=edge(b,'prewitt');
c1=edge(b1,'prewitt');
figure(1);
subplot(1,1,1)
imshow(a); title('IMAGEN ORIGINAL');
figure(2);
subplot(1,1,1)
imshow(a1); title('IMAGEN ORIGINAL');
figure(3);
subplot(1,1,1)
imshow(b); title('IMAGEN A GRIS');
figure(4);
subplot(1,1,1)
imshow(b1); title('IMAGEN A GRIS');
figure(5);
subplot(1,1,1)
imshow(c); title('BORDES DE IMAGEN');
figure(6);
subplot(1,1,1)
imshow(c1); title('BORDES DE
IMAGEN');
Figura.3 Deteccion de bordes de la imagen.
RESULTADOS
Figura.4 Imagen original
Figura.1 Imagen original
Figura.5 Imagen en escala de grises
Universidad de las Fuerza Armadas ESPE Extensin Latacunga, Quijano y Ordez y Hermanas Pez.
Figura.6 Deteccion de bordes de la imagen.
4 CONCLUSIONES
Este algoritmo est considerado como uno de
los mejores mtodos de deteccin de contornos
mediante el empleo de mscaras de
convolucin.
El algoritmo Canny es adaptable a los varios
ambientes.
Los parmetros del algoritmo permiten que sea
adaptado al reconocimiento de los bordes de
caractersticas que diferencian dependiendo de
los requisitos particulares de una puesta en
prctica dada.
5 BIBLIOGRAFIA
Soria, E.; Martnez, M.; Francs, J.V.; Camps,
G., (2003). Tratamiento digital de seales:
Problemas y ejercicios resueltos. Espaa.
https://www.youtube.com/watch?v=JQoOL2v4Y
SEf
http://solrive.com/blog/como-hacer-deteccionde-bordes-en-una-imagen-usando-matlab/