Sei sulla pagina 1di 6

UNIVERSIDAD AUTNOMA DE QUERTARO

FACULTAD DE INGENIERA


MAESTRA EN MECATRNICA


Nombre del alumno:
Carlos Andrs Prez Ramrez


Materia:
Computacin Avanzada


Actividad 9
Programacin de los algoritmos Sobel y Roberts en Visual Studio


Nombre del Catedrtico
Dr. Miguel Trejo Hernndez



San Juan del Rio, Quertaro. 19 de junio de 2013
Objetivo
Realizar la programacion en Visual Studio del algoritmo de Sobel y Roberts empleados en
la deteccin de bordes en imgenes.
Generalidades
En el procesamiento de imgenes, la deteccin de bordes es un campo de aplicacin
sumamente importante debido a que en la mayora de las imgenes, el resaltar cambios en la
iluminacin facilita la deteccin de caractersticas que permiten extraer informacin relevante
para realizar una identificacin de anormalidades con mayor facilidad. Los bordes son pixeles
alrededor de los cuales la imagen presenta una brusca variacin en los niveles de gris [1]. El
objetivo consiste en dada una imagen, localizar los bordes ms probables generados por los
elementos de la escena y no por el ruido.
En la figura 1 se puede observar que los bordes (transicin de oscuro a claro o viseversa)
se modelan como una rampa en lugar de hacerlo como un cambio brusco de intensidad, debido a
que la imagen original puede estar desdibujada como resultado del muestreo.

Figura 1. Demostracin de los cambios en una imagen con bordes.

La primera derivada es cero en todas las regiones de intensidad constante y tiene un valor
constante en toda la transicin de intensidad. La segunda derivada, en cambio es cero en todos los
puntos, excepto en el comienzo y en el final de una transicin de intensidad. Por lo tanto, un
cambio de intensidad se manifiesta como un cambio brusco en la primera derivada y presenta un
cruce por cero, es decir produce un cambio de signo en su valor, en la segunda derivada. Este
cambio de signo se le conoce como zero-crossing. Basndose en estas observaciones es evidente
que el valor de la primera derivada puede utilizarse para detectar la presencia de un borde as
como el signo de la segunda derivada.
Existen algunos operadores, basados en la primera derivada, que permiten detectar los
bordes. stos son el algoritmo Sobel, Roberts, Prewitt y Frei-Chen [2].
El algoritmo de Sobel permite calcular la primera derivada de la imagen basndose en la
siguiente ventana.

Figura 2. Ventanas empleadas en el algoritmo de Sobel.
Como se aprecia en la figura 2, existen 2 variantes para algoritmo de Sobel. En la parte
derecha (c) de la figura se ilustra la ventana empleada para las filas. En la parte central (b) de la
imagen se ilustra la ventana empleada para las columnas. En la parte izquierda (a) se muestra los
elementos numerados Las frmulas para ambas variantes es

) (

) (

)
Entonces, un pixel en la ubicacin (x,y) es considerado un pixel de borde si gT en esa
ubicacin, donde T es un umbral que debe ser especificado.
El algoritmo de Roberts a diferencia del algoritmo Sobel, marca solamente los puntos
de borde, sin informacin sobre la orientacin de stos. Es un operador muy simple que
trabaja con imgenes binarias. Opera segn las dos diagonales perpendiculares mostradas en
la figura 3 y definidas por la siguiente ecuacin

Figura 3. Definicin de las diagonales para el operador Roberts.
Existen dos formas del operador de Roberts: la raz cuadrada de la suma de las diferencias
de los vecinos diagonales al cuadrado y suma de la magnitud de las diferencias de los vecinos
diagonales. Para la presente actividad se emplea el ltimo enfoque.
En las secciones se presenta la implementacin en Visual Studio.
Desarrollo de la actividad
El objetivo de la presente actividad consiste en realizar la programacin de 2 algoritmos
para detectar los bordes en una imagen.
Para esto, se retoma el proyecto generado en la actividad previa, al cual se agregan al
men operaciones las opciones Sobel y Roberts, identificados como IDM_Operador_Sobel e
IDM_Operador_Robert ilustrado en la figura 4.

Figura 4. Opciones programadas para Archivo.
Para realizar la implementacin de estos operadores es necesario realizar un doble ciclo
for para recorrer la imagen. Posteriormente es necesario guardar la ventana de la imagen que se
desea procesar. Cuando se ha llenado el vector, debe ejecutarse el algoritmo, comparar con el
umbral definido y mostrar cada pixel generado. Debe ejecutarse hasta el fin de la imagen.
En las figuras 5 a 7 se muestra el cdigo generado para implementar las funciones
anteriormente descritas.


Figura 5. Cdigo generado (1/4)





Figura 5. Cdigo generado (2/2)

En la figuras 8 y 9 se muestran los algoritmos en ejecucin

Figura 8. Cdigo en ejecucin. (1/2)


Figura 9. Cdigo en ejecucin. (2/2)



Con lo que se cumple con el objetivo planteado.


CONCLUSIONES
La deteccin de bordes es un preprocesamiento necesario debido a que stos
contienen informacin que debe ser resaltada para poder ser procesada
posteriormente.
Los algoritmos de Sobel y Robert son sencillos en su implementacin. Sin
embargo, son sensibles al ruido gaussiano.
Su implementacin en tecnologas de procesamiento en tiempo real es factible
debido a que no posee una gran latencia.

BIBLIOGRAFA
[1] Snchez Rangel, Francisco Javier. Medicin y anlisis de las variaciones en el nivel de un
modelo fsico empleando imgenes.
http://newton.azc.uam.mx/mcc/01_esp/11_tesis/tesis/Proyectos_investigacion_computacion_2/I
nforme%20Proyecto%20v7.pdf
[2] Moreira Quiroz, Jos; Valencia Delgado, Vladimir; Chvez Burbano, Patricia. Implementacin de
un algoritmo para la deteccin y conteo de clulas en imgenes microscpicas.
http://www.dspace.espol.edu.ec/bitstream/123456789/8375/1/Implementaci%C3%B3n%20de%2
0un%20algoritmo%20para%20la%20detecci%C3%B3n%20y%20conteo%20de%20c%C3%A9lulas%
20en%20im%C3%A1genes%20microsc%C3%B3picas.pdf

Potrebbero piacerti anche