1
Realce y Detección de Bordes
Daniel Hernández, Student, INAOE, Hans Morales, Student, INAOE,
Abstract—El realce de contraste y la detección de bordes
son tratados en este documento. El realce de contraste se hace
mediante la ecualización del histograma, la normalización del histograma y el realce adaptativo de contraste basado en la vecindad
de un pixel, para posteriormente hacer una comparación de los
métodos. La detección de bordes se hace mediante el detector
de bordes de Canny y el algoritmo de cierre de contornos para
posteriormente analizar la mejora de esta última.
Index Terms—Contraste, Histograma, Bordes, Canny
II. C ONCEPTOS B ÁSICOS
Los operadores TM y DG estiman la intensidad local
del gradiente con la ayuda de máscaras de convolución
adecuadas. En el caso del gradiente diferencial , se requieren
únicamente dos máscaras , mientras que en la comparación
de plantillas se pueden usar alrededor de 12 máscaras de
convolución diferentes capaces de estimar componentes del
gradiente en direcciones diferentes (Prewitt, 1970; Kirsch,
1971, Robinson, 1977; Abdou y Pratt, 1979) [2].
I. I NTRODUCCI ÓN
U
NA familia extensa de señales bidimensionales es
aquella que comprende las imágenes digitales. Pueden
transportar una gran cantidad de información para ser
procesada ya sea por un humano o por una máquina. La
descripción de la imagen en términos de bordes y texturas
es un tema bastante común, pero desafortunadamente la
definición de borde es frecuentemente malinterpretada como
un contorno o una lı́nea. Existen dos maneras distintas de ver
la detección de bordes; la primera desde el punto de vista
del procesamiento de señales y la segunda desde el punto de
vista de la inteligencia artificial.
Desde el punto de vista del procesamiento de señales, la
noción de un borde implica una variación en los niveles de
intensidad de la imagen. Se puede representar puntualmente
mediante un vector cuyos componentes son funciones que
varı́an continuamente. Si se toma una decisión para conservar
variaciones “importantes”, el resultado puede llamarse
contorno y puede corresponder al borde de un objeto real
en la imagen. El contenido de la región rodeado de estos
contornos puede llamarse textura.
A. El Operador de Canny
Desde su publicación en 1986, el operador de Canny se
ha vuelto en uno de los operadores de detección de bordes
más utilizados. La aproximación de Canny está basada en tres
objetivos básicos [3]:
1) Baja tasa de error. Todos los bordes deben de ser
encontrados y no debe de haber respuestas falsas
2) Los puntos de borde deben de estar bien localizados.
Los bordes encontrados deben de ser muy cercanos a
los verdaderos bordes.
3) Respuesta de borde de un solo punto. El detector debe de
regresar únicamente un punto para cada punto de borde
verdadero.
Como resultado de estas consideraciones, el método involucra un número de etapas de procesamiento [2]:
1) Filtrado espacial pasa-bajas en frecuencia.
2) Uso de máscaras diferenciales de primer orden.
3) Supresión no máxima involucrando interpolación subpixel de intensidades de pixeles.
4) Umbralización de Histéresis.
En el segundo punto de vista, se define primero la
propiedad regional o de textura. Después, todos los puntos
de la imagen que poseen la misma propiedad son etiquetados
idénticamente, formando entonces regiones. Las lı́neas de
borde de las regiones, que permiten la segmentación de la
imagen pueden ser llamados falsos contornos, o simplemente
contornos si no existe referencia a objetos reales y pueden
corresponder a los bordes [1].
El trazado del número de veces (frecuencia de aparición)
en que se repite cada uno de los niveles de grises de una
imagen se denomina histograma. En el eje x se coloca cada
uno de los niveles de grises l, (0 ≤ r(L − 1)) de la imagen,
mientras que en el eje y se coloca la frecuencia de aparición
h(l) de cada uno de estos niveles.
La deteccción de bordes ha pasado a través de una evolución
abarcando poco más de 30 años. Dos métodos principales
de deteccción de bordes han sido aparentes en este perı́odo,
el primero de estos es la comparación de plantillas o template matching (TM) y el segundo el gradiente diferencial o
diferential gradient (DG). En cualquier caso, el objetivo es
encontrar en dónde la intensidad de magnitud del gradiente es
lo suficientemente grande para ser tomada en cuenta como un
indicador confiable del borde de un objeto [2].
Muchas veces la información que brinda el histograma
puede resultar muy valiosa para determinar e interpretar de
forma objetiva las caracterı́sticas de una imagen sin necesidad
de observarla en forma directa. Si los niveles de grises se
encuentran distribuidos prácticamente a lo largo de todo el
rango dinámico [0, L − 1], se puede decir que la imagen
tiene un buen contraste. Si por el contrario, el histograma
de la imagen no se encuentra distribuido en todo el rango
dinámico, salvo por un rango estrecho, se dice que la imagen
B. Procesamiento del Histograma
2
posee un bajo contraste.
2c), ampliando el rango dinámico de los niveles de gris en
la imagen.
Una de las técnicas más conocidas para el mejoramiento del
contraste es el “ajuste del histograma”. Tiene como objetivo
obtener el histograma de una imagen con una forma especı́fica
[4].
1) Ecualización del histograma: Es una forma especı́fica
de transformación que tiende a lograr una aproximación muy
cercana a una distribución uniforme de los valores de la escala
de los niveles de grises; es decir, la ecualización del histograma
pretende darle la misma probabilidad de ocurrencia a todos los
niveles de grises [4].
2) Normalización del histograma: Es una transformación
que permite mover el rango dinámico de niveles de gris de
una imagen a un rango amplio o estrecho según sea el caso,
conservando la probabilidad de ocurrencia.
Imagen Original
Histograma de la Imagen Original (Bajo Contraste)
7000
6000
5000
4000
3000
2000
1000
0
0
0.1
0.2
Normalizacion o Ajuste del Histograma
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.7
0.8
0.9
1
Histograma de la Imagen Normalizada
7000
6000
5000
4000
3000
2000
1000
0
0
0.1
0.2
0.3
0.4
0.5
0.6
Figura 2. a) Imagen en bajo contraste b) Histograma de la imagen en bajo
contraste c) Imagen normalizada d) Histograma de la imagen normalizada
III. P RUEBAS Y R ESULTADOS
A. Realce adaptativo de contraste
El realce adaptativo de contraste consiste en hacer una
mejora basada en la información de la vecindad. Una forma
especı́fica se puede obtener utilizando la siguiente fórmula:
g(x, y) = k1
M
[f (x, y) − m(x, y)] + k2 m(x, y)
σ(x, y)
(1)
donde m(x, y) y σ(x, y) son la media y la desviación
estándar calculados sobre un entorno de vecindad centrado
en (x, y), M es la media global de la imagen f (x, y) y k1
y k2 son dos constantes que toman valores en el intervalo [0,1].
Leemos una imagen pequeña (500 x 500 pixeles) con bajo
contraste (Fig. 1a) y posteriormente obtenemos su histograma
para corroborar que el rango dinámico de la misma es angosto
(Fig. 1b). Aplicamos el comando histeq en MATLAB® para
procesar la imagen original (Fig. 1c) y finalmente obtenemos
su histograma para corroborar que el rango dinámico de
la imagen se ha extendido en todo el intervalo (Fig. 1d).
Visiblemente, la ecualización extiende el rango de los niveles
de gris y hace resaltar detalles imperceptibles de la Fig. 1a
Podemos observar un realce en el contraste que se puede
corroborar mediante los histogramas correspondientes (Fig.
2b y 2d) y al igual que en la ecualización del histograma,
el contraste ha mejorado, obteniendo imágenes muy
parecidas, pero con ligeras diferencias en los histogramas
correspondientes.
Finalmente hacemos un realce adaptativo de contraste aplicando la Eq. 1 a la imagen de la Fig. 2a, obteniendo diversos
resultados con valores distintos de k1 , k2 y el tamaño de
ventana a utilizar:
Imagen Original
6000
5000
4000
3000
2000
1000
0
0
Realce Adaptivo con v=3, k
Imagen Original
Histograma de la Imagen Original (Bajo Contraste)
Histograma de la Imagen Original (Bajo Contraste)
7000
1
=0.2 y k
2
=1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Histograma de la Imagen con Realce Adaptivo con v=3, k
0.8
1
0.9
=0.2 y k
1
2
=1
5000
7000
4500
4000
6000
3500
5000
3000
4000
2500
2000
3000
1500
2000
1000
500
1000
0
0
0
0
0.1
0.2
Ecualizacion del Histograma
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1
Histograma de la Imagen Ecualizada
Figura 3. a) Imagen en bajo contraste b) Histograma de la imagen en bajo
contraste c) Imagen aplicando realce adaptativo de contraste con v = 3,
k1 = 0.2, k2 = 1 d) Histograma de la imagen con realce adaptativo
7000
6000
5000
4000
3000
2000
1000
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figura 1. a) Imagen en bajo contraste b) Histograma de la imagen en bajo
contraste c) Imagen ecualizada d) Histograma de la imagen ecualizada
Posteriormente, y utilizando la imagen de referencia en la
Fig. 1a, aplicamos una normalizacion del histograma (Fig.
Con k1 = 0.2, en la Fig. 3c podemos observar una mejora en
ciertos detalles de la imagen, pero al mismo tiempo observamos que se generan falsos contornos. El histograma obtenido
del realce adaptativo (Fig. 3d) nos arroja una distribución del
histograma tipo gausiana, con un rango dinámico mayor que
el de la imagen original.
3
Imagen Original
Histograma de la Imagen Original (Bajo Contraste)
Imagen Original
Histograma de la Imagen Original (Bajo Contraste)
7000
7000
6000
6000
5000
5000
4000
4000
3000
3000
2000
2000
1000
1000
0
0
0
Realce Adaptivo con v=3, k
=0.7 y k
1
=1
2
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Histograma de la Imagen con Realce Adaptivo con v=3, k
0.9
1
=0.7 y k
1
0
=1
2
Realce Adaptivo con v=13, k
=0.5 y k
1
=1
2
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Histograma de la Imagen con Realce Adaptivo con v=13, k
0.8
0.9
=0.5 y k
1
1
=1
2
3000
3500
2500
3000
372 828 832 73 328837878278
73 328728878873323882287826372
8 38283 33837878278493233 32 7 3
78278828333 783323783 4 8
78338 78Figura
786.2a)78Imagen
828en37bajo
22b)38Histograma
7 de37la4imagen
!8
Figura 4. a) Imagen en bajo contraste b) Histograma de la imagen en bajo
7conv2=83, 38
83c)23Imagen
78"aplicando
32#contraste
3realce
2 $adaptativo
4 3%8decontraste
337con3v en= bajo
contraste c) Imagen aplicando realce adaptativo de contraste
contraste
13,
k = 0.7, k = 1 d) Histograma de la imagen con realce adaptativo
de la imagen con realce adaptativo
82878278k8=80.5,
8k33=13d)7Histograma
4
que
4&'37378Cabe
28destacar
8883
23la3elección
728 7de8los
valores
873863dek1 y k2
afectan
el
rango
de
salida
de
los
niveles
de
gris de la imagen,
8782788388828(3822374
2500
2000
2000
1500
1500
1000
1000
500
500
0
0
0
1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
2
0
1
Con k1 = 0.7, en la Fig. 4c podemos observar una realce
más significativo en los contornos de los objetos, pero al
mismo tiempo observamos que se generan mucho más falsos
contornos que en la Fig. 3c. El histograma obtenido del
realce adaptativo (Fig. 4d) nos arroja una distribución del
histograma tipo gausiana, con un rango dinámico mucho
mayor que el de la Fig. 3c. El valor de k2 mueve el centro
de la distribución tipo gausiana obtenida en el histograma de
la imagen procesada con el algoritmo adaptativo (Fig. 5).
Imagen Original
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
2
por lo que dependiendo de la imagen a tratar, algunos pixeles
pueden salir fuera del rango de niveles de gris preestablecidos
y saturarse en negro o blanco.
74&! 3232883 3832782733773288388228782888838287788"78383373283283837882287878
287288B.8Cierre
6888888 83328
78 2378841(
278493233
88323 88de78contornos
27847827288382833338337877883
323783
En ocasiones, la detección de bordes de Canny puede pre-
7
8
3
3
8
7
8
7
8
2
7
8
8
2
8
3
7
2
tanto
es
84&)8288 3sentar
382contornos
283238abiertos.
8878Por
2288
3388
2necesario
(833323878implementar
23"232#322$3843
8822878un
24cierre
*3#de contornos
872+837288posterior
827832237a8la3238detección
7382333de832bordes
74 de
8278 823Canny.
8Para
37ello
8 se8aplica
2
78un88Kernel
838codificado
3 78(Fig.
3 7) y
un
código
que
se2
compara
823 33 8el8resultado
8 "8223nos7884proporciona
2
3
7
3
2
4
9
3
2
3
"
8
7
8
8
3
3
3determinar
,878828la288dirección
328
8888de32cierre
3con3728 78
28333el82código
28(33del8patron
&'
(36338para
377
278se8determina
3888ladirección
28(3de822374
787886de23contorno.
788 3En28base
34 a 8esto,
búsqueda y examinando el valor del gradiente se determina
-888832
8224está
. 38678o2si3algún
28pixel
37323como
7 nuevo
si el3borde
7Los
4&!patrones
3de
232búsqueda
883semarca
3
8
3
278en
237la888 8
'3 66'3 6/822878pixel
de2borde.
4 cerrado
se observan
2
8
7
2
8
8
8
6
8
8
8
8
8
8327
Fig. 8.
88323 88782784
84&)8288 33822832388 8828382
882287824*3# 872+37882 323323
8278 8238378 8278888
823 33 888 "82237882 373249323"
283338228(338 (3633,8 8
787886 23788 32834
$3%
-8888$3%238224. 386782328
Figura 7. Kernel de cierre de bordes
'3 66'3 6/82287824
Histograma de la Imagen Original (Bajo Contraste)
7000
6000
5000
4000
3000
2000
1000
0
0
Realce Adaptivo con v=3, k
0.1
1
=0.2 y k
2
=0.5
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Histograma de la Imagen con Realce Adaptivo con v=3, k
5000
4000
3000
2000
1000
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.8
1
0.7
0.9
=0.2 y k
0.8
0.9
1
2
=0.5
1
Figura 5. a) Imagen en bajo contraste b) Histograma de la imagen en bajo
contraste c) Imagen aplicando realce adaptativo de contraste con v = 3,
k1 = 0.2, k2 = 0.5 d) Histograma de la imagen con realce adaptativo
12345367898282 3 3228
El último parámetro a modificar es el tamaño de ventana.
Analizando la imagen e histograma obtenidos con v = 13,
k1 = 0.5, k2 = 1 (Fig. 6c y Fig. 6d respectivamente),
observamos un mayor rango dinámico en el nivel de grises
a la salida, pero también observamos una disminución en los
falsos contornos generados con una ventana pequeña, por lo
que podemos decir que actúa como filtro para eliminar el
pseudo-ruido generado por el método.
$3%
Figura 8. Códigos de puntos de borde
Aplicamos la detección de bordes de Canny en MATLAB®
mediante el comando edge, especificando en las opciones la
$%
4
detección de bordes de Canny. El resultado es una imagen
binarizada que se muestra en la Fig. 9b.
Imagen Original
Deteccion de Bordes de Canny
Figura 9. a) Imagen original b) Detección de bordes de Canny
Se Aplica el Kernel, y el resultado es una figura con los
bordes más gruesos (Fig. 10a), los cuales poseen los códigos
de los pixeles que son bordes extremos. Una vez hecho esto,
se buscan dichos códigos y se busca el gradiente en los tres
puntos de búsqueda para cada código. Una vez hecho esto, se
determina el gradiente más alto de estos puntos y se marca
como nuevo pixel de borde. El proceso se repite hasta que no
haya cambios. El resultado se observa en la Fig. 10b.
Convolucion de imagen con el kernel
Cierre de Contornos
Figura 10. a) Convolución con el Kernel b) Cierre de contornos
Dada la naturaleza de algunos bordes se puede apreciar que
se pueden llegar a hacer bordes dobles con respecto a Canny
original o hacer cierre de bordes falsos.
IV. C ONCLUSIONES
La ecualización y normalización del histograma mostraron
mejores resultados visuales con respecto al realce adaptativo
de contraste. Sin embargo, el realce adaptativo mostró una
distribución del histograma más uniforme y de tipo gausiano.
Podemos decir que los valores de k1 y k2 mueven la desviación
estándar y la media global del histograma de la imagen
respectivamente. Una ventana más grande nos da una imagen
con un menor número de falsos contornos, mientras que una
ventana mas pequeña los acrecenta.
En cuanto a la detección de bordes de Canny y cierre
de contornos, observamos una mejora en la definición de
contornos para aquellos que no alcanza a cerrar el algoritmo
de Canny, sin embargo está limitado a ciertos ángulos dados
por los patrones de búsqueda y el Kernel de convolución,
por lo que en ocasiones el resultado no es completamente
satisfactorio, sobre todo en secciones con discontinuidades
grandes.
R EFERENCES
[1] M. Kunt. Edge detection : A tuttorial review. In Acoustics, Speech,
and Signal Processing, IEEE International Conference on ICASSP ’82.,
volume 7, pages 1172–1175, May 1982.
[2] E.R. Davies. Computer and Machine Vision CVM. Academic Press,
fourth edition.
[3] Rafael C. Gonzalez. Digital Image Processing. Pearson Prentice Hall,
third edition.
[4] R. Rodriguez. Procesamiento y Analisis Digital de Imagenes. Alfaomega,
first edition.