Está en la página 1de 4

Detector de Bordes Para Imagenes (Filtro Sobel).

Edisson Andres Coy Henry Telles Uribe


Estudiante de Ingenierı́a Electrónica Estudiante de Ingenierı́a Electrónica
Fundación Universitaria los Libertadores. Fundación Universitaria los Libertadores.
eacoyc@libertadores.edu.co htellesu@libertadores.edu.co

I. I NTRODUCC ÍON horizontales. Para cada punto de la imagen, el vector gradiente


La detección de bordes es una herramienta fundamental en apunta en dirección del incremento máximo posible de la
el procesamiento de imágenes y en visión por computadora, intensidad, y la magnitud del vector gradiente corresponde a
particularmente en las reas de detección y extracción de carac- la cantidad de cambio de la intensidad en esa dirección.
terı́sticas, que tiene como objetivo la identificación de puntos Lo dicho en los párrafos anteriores implica que el resultado de
en una imagen digital en la que el brillo de la imagen cambia aplicar el operador Sobel sobre una región con intensidad de
drásticamente o, más formalmente, tiene discontinuidades. El imagen constante es un vector cero, y el resultado de aplicarlo
mismo problema de encontrar discontinuidades en seales 1D en un punto sobre un borde es un vector que cruza el borde
se conoce como detección de paso. (perpendicular) cuyo sentido es de los puntos más oscuros a
los más claros.
II. R ESUMEN
En este documento se pretende expliccar como procesar B. Formulación.
una imagen detectando sus bordes, tanto horizontales como
verticales por medio de dos matrices las cuales llamaremos Mtemáticamente, el operador utiliza dos kernels de 33
kernel horizontal y vertical respectivamente. Despues de ello elementos para aplicar convolución a la imagen original para
procedemos a realizar el Filtro Sobel el cual detectera el fino calcular aproximaciones a las derivadas, un kernel para los
borde de una imagen cualqueira. cambios horizontales y otro para las verticales. Si definimos A
como la imagen original, el resultado, que son las dos imgenes
III. M ARCO T E ÓRICO Gx y Gy que representan para cada punto las aproximaciones
Filtro Sobel. horizontal y vertical de las derivadas de intensidades, es
El operador Sobel es utilizado en procesamiento de calculado como:
imágenes, especialmente en algoritmos de detección de bordes.  
Tcnicamente es un operador diferencial discreto que calcula −1 0 +1
una aproximación al gradiente de la función de intensidad Gx =  −1 0 +1  ∗ A (1)
de una imagen. Para cada punto de la imagen a procesar, −1 0 +1
el resultado del operador Sobel es tanto el vector gradiente
correspondiente como la norma de ste vector. 
−1 −1 −1

A. Descripción Simple. Gy =  0 0 0 ∗A (2)


+1 +1 +1
El operador Sobel calcula el gradiente de la intensidad
de una imagen en cada punto (pxel). Ası́, para cada punto,
En cada punto de la imagen, los resultados de las aprox-
este operador da la magnitud del mayor cambio posible, la
imaciones de los gradientes horizontal y vertical pueden ser
dirección de éste y el sentido desde oscuro a claro. El resultado
combinados para obtener la magnitud del gradiente, mediante:
muestra cómo de abruptamente o suavemente cambia una
imagen en cada punto analizado y, en consecuencia, cuán q
probable es que éste represente un borde en la imagen y, G= G2x + G2y (3)
también, la orientación a la que tiende ese borde. En la
práctica, el cálculo de la magnitud -probabilidad de un borde- Con esta informacin, podemos calcular tambin la direccin
es más fiable y sencillo de interpretar que el cálculo de la del gradiente:
dirección y sentido.
Gy
Matemáticamente, el gradiente de una función de dos vari- θ = arctan (4)
Gx
ables (en este caso, la función de intensidad de la imagen) para
cada punto es un vector bidimensional cuyos componentes estn donde, por ejemplo, Θ es 0 para bordes verticales con
dados por las primeras derivadas de las direcciones verticales y puntos más oscuros al lado izquierdo.
C. Formalmente.
Debido a que la función de intensidad de una imagen digital
sólo se conoce mediante puntos discretos, las derivadas de es-
tas funciones no pueden ser definidas a menos que asumamos
que existe una función continua que ha sido muestreada en los
puntos de la imagen. Con algunas suposiciones adicionales,
la derivada de la función continua de intensidad puede ser
calculada como una función de la función de intensidad
muestreada, i.e, de la imagen digital. De lo anterior resulta
que las derivadas en cualquier punto particular son funciones
de los valores de intensidad, virtualmente, en todos los puntos
de la imagen. Sin embargo, aproximaciones a estas funciones
diferenciales pueden ser definidas con el nivel de precisión
requerido teniendo en cuenta únicamente una pequea regin de
puntos alrededor del estudiado.
El operador sobel representa una primera aproximación
imprecisa del gradiente de la imagen, pero es de calidad
suficiente para ser de uso práctico en muchas aplicaciones.
Más precisamente, éste operador utiliza sólo valores de inten-
sidad en una región de 3x3 alrededor de cada punto analizado
para calcular el gradiente correspondiente, además de que
utiliza slo núeros enteros para los coeficientes que indican la
aproximación del gradiente.

IV. M ATERIALES Fig. 2. Diagrama de Flujo Filtro Mediana.

• Python.
– Libreria OpenCV.
– Libreria Numpy

V. P ROCEDIMIENTO -E JECUCI ÓN


Aqui se explicara el algoritmo usado para realizar el filtro
de sobel para la sigueinte imagen.

Fig. 3. Pseudocodigo Filtro Mediana.


Fig. 1. Imagen Original.

Como se observa en el diagrama de fuljo y en el


pseudocodigo lo primero que se debe hacer es leer la imagen y 255 es el valor mas claro o donde hay mas luz en la imagen.
a la cual se desea aplicarle el filtro, teniendo en cuenta que
la imagen se hace un procedimiento simple para convertirla Se prepara una matriz con las mismas dimensiones a la
en una imagen en escala de grises y volverla una matriz imagen original, la matriz kernelh la cual servira para detectar
con dimension en filas y columnas, al numero de pixeles los bordes horizontales y por ultimo la matriz kernerv la
que esta tiene. Para este caso la imagen estara representada cual detectara los bordes verticales en la imagen. Seguido
por una matriz de 620*387 pixeles, que varian de 0 - de esto se realiza la convolucion primero entre la matriz
255, donde 0 es el valor mas oscuro o donde no hay luz de la imagen cargada con la matriz del kernelh despues la
misma matriz de la imagen con la matriz del kernelv. Se VI. R ESULTADOS
calcula la magnitud de los resultados en los pixeles tanto el En este apartado usted podra ver los resultados de los
de la convolucion con el kernelh y la combolucion del kernelv. codigos creados y observara como la imagen se comporta
aplicando cada kernel tanto el horizontal como el vertical, y
Al terminar se meustran tres 4 imagenes en pantalla, la por ultimo el filtro aplicado en la imagen.
iamgen original, la imagen operada con el kernelh, l aiamgen
operada con el kernelv y por ultimo el resultado final el cual
sera EL FILTRO SOBEL.

A continuacion se muestra el codigo usado en Python.

Fig. 5. Imagen Original.

Fig. 4. Codigo en Python Filtro Mediana.

El codigo identifica la imagen, tambien prepara las matrices


kernel, tambien, se hace un barrido por toda imagen aplicando
la convolucion con cada uno de los kernel, despues de ello
con cada valor obetenido en cada pixel se calcula la magnitud
y por ultimo guarda el resultado en una matriz de salida.

Despues de ello el codigo muestra tanto las dos imagenes Fig. 6. Imagen Con Kernel Horizontal.
con los kernel aplicados y la imagen de salida final.
Como se menciono anterior mente, en las iamgenes
donde se aplica la convolucion con el kernel vertical y
Se obervara de manera muy notoria los bordes detectados horizontal, se puede observar como, en estos procedimientos
en las iamgenes, sera muy notorio obersar como la imagen de convolucion, por ejemplo el kernel horizontal elimina
parece ser diseada con lineas verticales y otra imagen con todas las ”lineas verticales y deja todas las horizontales,
lineas horizontales. detectando asi bordes, lo mismo sucede con el kernel vertical.

Por ultimo la ”union” de estos dos procesos nos da Por esta razon se observa como ese efecto en las imagenes
como resultado el filtro de sobel, esto basicamente es como como si hubiesen sido creadas con lieneas verticales y la otra
n croquis de la imagen original. con lineas horizontales.
Fig. 7. Imagen Con Kernel Vertical.

Fig. 8. Filtro Sobel.

VII. C ONCLUSIONES
• Con el siguiente laboratorio podemos analizar que se de-
sarrollaron 2 procedimientos matematicos para deteccion
de bordes, se peude concluir para la imagen original que
seleccionamos para aplicar este filtro, el operador sobel
genera un croquis de la modelo que parece en la iamgen,
resaltando sus ojos, su cabello y parte de su torso y
elimina el resto de caracteristicas que hay en la imagen.
R EFERENCES
[1] ClaseRuidoFiltrado2C2015.pdf.
[2] http:alojamientos.us.esgtocomapidtema31.pdf
[3] jorge.marquezcursosimagenes neurobiomed/Mediana filtro.pdf

También podría gustarte