Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"
Error
  • JUser: :_load: No se ha podido cargar al usuario con 'ID': 77

Boletín No. 55
1o. de julio de 2016

 

 

 

EXTRACCIÓN DE BORDES; OPERADORES SOBEL, PREWITT Y ROBERTS

 

R. Macias-Igari,
J. A. Rodríguez-Meza,
J. N. Alba-Juárez y H. Taud
Email: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ;
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ;
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ;
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Instituto Politécnico Nacional, CIDETEC.
Unidad Profesional Adolfo López Mateos.

 

Resumen

En este trabajo se presenta la detección de bordes de una imagen convencional con tres diferentes operadores de primera derivada, los cuales son; el operador de Sobel, Prewitt y Roberts. Para ello primero se requiere obtener el gradiente con su respectiva magnitud y dirección, posteriormente aplicando el algoritmo de cada uno de los operadores podremos obtener el valor del pixel que se evalúa con una relación de un umbral determinado.

Introducción

La detección de bordes en general es un elemento importante para la visión artificial, hoy en día existen muchas aplicaciones en robótica móvil, procesamiento de imágenes y reconocimiento de patrones, por mencionar algunas. La extracción de bodes o simplemente bordes, son pixeles con alta variación en la escala de grises que se encuentran en la imagen a procesar, o simplemente la imagen tiene esa variación a causa de ruido. Es por eso que existe esta extracción de bordes, contorno o esquinas con diferentes algoritmos. El ruido también genera bordes o contornos pero es por eso que un buen algoritmo puede ser capaz de eliminarlo.

 

Gradiente de una imagen (operadores de primera derivada)

El gradiente de una imagen en cualquier punto se define como un vector bidimensional dado por la siguiente ecuación (1), siendo un vector perpendicular al borde.

 

 Figura 1

 

Donde el vector G apunta en la dirección de variación máxima de f en el punto (x,y) por unidad de distancia con la magnitud y dirección dadas por

 

 Figura 2

 

Una práctica habitual es aproximar la magnitud del gradiente con valores absolutos

 

 Figura 3

 

Cualquiera de las ecuaciones (2) y (3) se puede utilizar para obtener la magnitud del gradiente, ya que va en relación a un determinado umbral, si el valor de la magnitud supera el umbral este punto se considera como un borde.

Para calcular la derivada en (1) se pueden utilizar las diferencias de primer orden entre dos pixeles adyacentes, estos es:

 

 Figura 4

 

Esta es la forma más elemental de obtener el gradiente en un punto.

Para obtener el gradiente de una imagen se puede observar en la siguiente relación como podemos obtener los bordes de la misma.

 Figura 5

 

Donde T es un valor de umbral no negativo, solo los pixeles de borde que excedan el valor de T se consideran importantes.

Operadores de Sobel

Los operadores de Sobel al igual que los operadores de gradiente tienen la tarea de suavizar la imagen de tal manera que se elimina un poco de ruido de la imagen si es que lo tiene, por lo consiguiente se puede desaparecer falsos bordes.

Para dicha tarea existen 2 mascaras de 3x3, una para el gradiente horizontal Gx y una para el gradiente vertical Gy, que se utilizan como operadores de Sobel figura 1. A partir de eso las derivadas basadas en los operadores de Sobel son:

 

 Figura 6

 

Donde los valores de Z en la figura 1 son los pixeles evaluados por las máscaras en cualquier localización de la imagen. Para obtener los valores del gradiente de la imagen se utilizan las expresiones 6, con lo que la magnitud se puede obtener con la expresión 2 y 3. Con esas expresiones obtenemos el valor del gradiente en dichos pixeles, para obtener el siguiente valor, las máscaras se mueven al pixel siguiente, es decir, la nueva posición. Una vez que se ha obtenido la magnitud del gradiente, se puede decir si un pixel es un borde o no, con la expresión 5, obteniendo una imagen binaria en la salida.

 

Coeficientes Sobel
Figura 7

 

 Figura 8
Operador de Roberts

El operador de Prewitt es similar al de Sobel, es decir, obtiene el gradiente para los bordes. Aunque la máscara es diferente.

 

Coeficientes Roberts
Figura 9

 

 

Ejemplo Roberts
 Figura 10

 

El operador de Roberts a diferencia de los dos anteriores, solo marca dos puntos en cada mascara, es más simple y funciona bastante bien para imágenes binarias.

 

Coeficientes Roberts
Figura 11

 

 

Ejemplo Roberts
 Figura 12

 

Conclusiones

En este trabajo se desarrollaron tres algoritmos para la detección de bordes, podemos concluir que para nuestra imagen original (imagen de la playa Brasil en Fortaleza) los operadores de Sobel y Prewitt nos dan un resultado muy parecido, prácticamente igual, esto se debe a que la imagen original no favorece mucho en los bordes ya que los valores de los pixeles son muy similares en cielo y mar de la imagen, podemos ver que las nubes se pierden completamente, en cambio con el operador Roberts el resultado no fue muy favorable ya que a comparación de los dos operadores anteriores no obtuvo buenos resultados, de igual manera los coeficientes de Roberts no pueden notar tanta diferencia en los valores de los pixeles de esta imagen.

 

Referencias

[1] Visión por Computador Imágenes digitales y aplicaciones, 2da edición, Gonzalo Pajares Martínez, Jesús M. de la Cruz García, Ra-Ma.

[2] Procesamiento digital de imágenes con MATLAB y Simulink, Erick Cuevas, Daniel Zaldívar, Marco Pérez, Ra-Ma.

[3] VII Jornadas de Matemática Aplicada DMA–IMPA Universidad Politécnica de Valencia 22-23 de Noviembre de 2006 páginas 9–20 Detección de bordes con precisión subpíxel en imágenes digitales: Interpolación lineal frente a esquemas de tipo no lineal.

[4] Gradiente. Consultado el 29 de marzo de 2016. Disponible http://www.vinuesa.com/dip/gradiente.pdf

[5]Edge. Consultado el 3 de abril de 2016. Disponible http://es.mathworks.com/help/images/ref/edge.html