Está en la página 1de 8

Facultad de Ciencias Fsicas y Matemticas

EL7007 Introduccin al Procesamiento Digital de Imgenes


1

Tarea N3: Detecci n de Brdes
Rodrigo Orstica
1 Introduccin
El presente reporte corresponde al desarrollo de la Tarea N3 del curso EL7007-Introduccin al
Procesamiento Digital de Imgenes, y tiene como objetivo el estudio de deteccin de bordes en
imgenes. Durante las actividades se aplicaran diversos tipos de operadores, por ejemplo: de
Prewitt, Robert Y LoG, analizndose sus ventajas para distintos tipos de imgenes.
2 Actividades
2.1 Problema 1
En esta actividad se implementa el operador de Prewitt para filtrar la imagen spiderweb.jpg. El
operador consta de 2 mscaras que son las que se muestran en la expresin (1), y que permiten
determinar los bordes de la imagen orientados vertical (izquierda) y horizontalmente (derecha).
(



) (



)
(1)
La imagen jpg tiene formato RGB por lo que consta de 3 matrices con valores por pixel
comprendidos entre [0:255], por lo que es necesario transformarla a escala de grises lo que se
consigue promediando los valores de los pixeles en cada ubicacin o aplicando la
funcin rgb2gray que aplica el procedimiento directamente.
El filtrado se realiza con la funcin de convolucin (Conv2D) desarrollada en tareas pasadas, la cual
recibe como datos la mscara y la imagen original en escala de grises para entregar como
resultado una imagen modificada. Al aplicar los filtros se tienen 2 imgenes, im1 e im2, las cuales
se muestran en la Figura 1 junto con spiderweb.jpg en escala de grises.

Figura 1: Imgenes Filtradas con el operador de Prewitt
Facultad de Ciencias Fsicas y Matemticas
EL7007 Introduccin al Procesamiento Digital de Imgenes
2

La escala de grises para las imgenes im2 y im2 est comprendido dentro de su rango de valores, o
sea, el valor mnimo corresponde al cero mientras el mximo a 255. Lo anterior se puede realizar
directamente con la funcin imshow al agregar sobre sus parmetros de entrada el smbolo [].
En la Figura 2 se muestra el valor absoluto de las imgenes filtradas, y dado que el rango de
valores disminuye en aproximadamente la mitad debido a la funcin valor absoluto es ms sencillo
identificar los bordes visualmente. Ntese que al observar la telaraa queda claro que cada una
de las mscaras permite destacar ciertos bordes, en el caso de las lneas horizontales que se
aprecian en la parte inferior de la telaraa solo se distinguen en |im2|, en cuando a las lneas
verticales de la derecha, solo se ven en |im1|.

Figura 2: Valor absoluto de imgenes filtradas con el operador de Prewitt
Sobre el valor absoluto de las imgenes im1 e im2, llamadas Im1 e Im2, respectivamente, se
procede a realizar la binarizacin de modo tal que cuando un pixel supera el valor de cierto umbral
tome el valor de 0, y de 1 en caso contrario. Los umbrales con los que se trabaja son porcentajes
del valor mximo de en cada una de las imgenes, Im1 e Im2, y los resultados para ciertos valores
se muestran en la Figura 3.

Figura 3: Binarizacin para distintos umbrales con respecto al mximo
Facultad de Ciencias Fsicas y Matemticas
EL7007 Introduccin al Procesamiento Digital de Imgenes
3

Las imgenes superiores corresponden a la binarizacin de Im1 y las inferiores a Im2. Para un 25%
de los valores mximos es donde se aprecian mejores resultados pues se destacan los bordes de
la telaraa como de la cerca que se encuentra al fondo. Para umbrales mayores (50%) una gran
cantidad de bordes se pierden en el fondo y para valores menores (15% y 20%) elementos que no
forman lmites son destacados con negro.
Las imgenes Im1 e Im2, que identifican los bordes en direcciones independientes, se combinaran
mediante la funcin no lineal que selecciona el mximo en cada pixel, max(Im1,Im2), para formar
una nueva imagen final. En la Figura 4 se ven los resultados para distintos umbrales con respecto
al mximo.

Figura 4: Binarizacin para max(Im1,Im2) para distintos umbrales
Para umbrales bajos partes del fondo se confunden con bordes, mientras que ocurre lo contrario
con los altos. En cuanto al ptimo, se puede observar que para esta nueva imagen este tambin se
produce al 25%, un umbral al 30% entrega resultados muy similares pero tiene la desventaja de
eliminar algunos bordes exteriores de la telaraa.
En la Tabla 1 se resumen los resultados para los valores de umbrales
Imagen Mximo Porcentaje ptimo Valor Umbral
Im1=|im1| 752 25% 180
Im2=|im2| 756 25% 189
I=max(|im1|,|im2|) 756 25% 189
Tabla 1: Valores umbrales ptimos
En base al umbral ptimo encontrado se pide binarizar para fracciones de dicho valor. Los
resultados no se muestran en el informe pero las conclusiones que se desprenden de su
Facultad de Ciencias Fsicas y Matemticas
EL7007 Introduccin al Procesamiento Digital de Imgenes
4

observacin son las mismas que se haran al observar la Figura 4. Al ir disminuyendo el valor del
umbral, partes correspondientes al fondo o zonas donde los bordes sean poco acentuados se irn
marcando hasta el punto de que los bordes son indistinguibles.
Observando la misma Figura (Figura 4) se puede concluir que el umbral ptimo que asla la
telaraa del resto de la imagen es el de un 25%.
2.2 Problema 2
En esta actividad se implementa el operador de Robert para filtrar la imagen ldda.jpg. El operador
consta de 2 mscaras que son las que se muestran en la expresin (1), las que permiten
determinar los bordes de la imagen orientados diagonalmente. Dentro de los inconvenientes de
este operador se encuentra su extremada sensibilidad al ruido.
(


) (


)
(2)
Para poder aplicar la misma funcin implementada para la convolucin en el Problema 1 se
requiere una mscara que tenga un nmero impar de elementos, por esta razn los operadores
son modificados agregando ceros para ampliar su dimensin a 3x3. Los utilizados se indican en la
expresin (3)
(



) (



)
(3)
Por cada uno de los filtros se obtiene una imagen, las que se denominan im3 e im4. Estas se
observan en la Figura 5 junto con la original. Al igual que antes, en la funcin imshow se agrega el
parmetro que permite normalizar el rango de las imgenes entre [0:255].

Figura 5: Operador de Robert para ldda.jpg
Al igual que en Problema 1, se realiza la binarizacin de las imgenes sobre el valor absoluto de
ellas. Estas nuevas imgenes se observan en la Figura 6 y se denomina Im3 e Im4. De este modo es
ms sencilla la visualizacin de los bordes, de modo tal que se puede apreciar que el operador de
la izquierda de la expresin (3) destaca las diagonales orientadas desde la parte superior izquierda
a la inferior derecha (Im3), mientras que el operador de Robert de la derecha, enfatiza en las
diagonales dirigidas de la parte inferior izquierda a la superior derecha (Im4).
Facultad de Ciencias Fsicas y Matemticas
EL7007 Introduccin al Procesamiento Digital de Imgenes
5


Figura 6: Valor absoluto de imgenes filtradas con el operador de Robert
Para la binarizacion se utilizan valores umbrales correspondientes a distintas fracciones del
mximo de las imgenes, y se realiza de tal modo que al superar el valor umbral al pixel se le
asigna un 0, y en caso contrario, el nmero 1. En la Figura 7 se muestran los resultados, donde las
imgenes superiores corresponden a la binarizacin de Im3 y las inferiores, de la Im4.

Figura 7: Imgenes binarizadas
Observando las imgenes se concluye que un el umbral adecuado resulta ser del 10% del valor
mximo de las imgenes. Un 15% genera prdidas de bordes importantes en la imagen.
Las imgenes Im3 e Im4, que identifican los bordes en direcciones independientes, se combinaran
mediante la funcin no lineal que calcula la raz cuadrada de la suma de los valores absolutos,

, para formar una nueva imagen final. En la Figura 8 se ven los resultados para
distintos umbrales con respecto al mximo.
Facultad de Ciencias Fsicas y Matemticas
EL7007 Introduccin al Procesamiento Digital de Imgenes
6


Figura 8: Binarizacin de Imagen Final para distintos umbrales
De las imgenes se desprende que los mejores resultados para la limitacin de las figuras en
pintura se presentan para un umbral del 8 % del valor mximo. Para valores mayores la deteccin
no permite cerrar la forma de los objetos.

2.3 Problema 3
En este problema se aplica el operador LoG con la funcin de Matlab edge para detectar los
bordes sobre la imagen monalisa.jpg. Dentro de los parmetros que se pueden modificar en la
funcin, est el umbral de binarizacin y la desviacin estndar de la gaussiana (). El tamao del
filtro gaussiano a utilizar viene dado al fijar el valor de , y la funcin lo determina mediante la
siguiente operacin: , donde ceil aproxima al entero superior. Existe
lo opcin de dejar vaca [] la entrada para el umbral de tal modo que es la funcin edge la que lo
calcula automticamente.
En la Figura 9se muestran los resultados al modificar la desviacin estndar del operador. Las
imgenes se centran en el rostro del cuadro que es el objeto de inters para la actividad,
indicando en el ttulo el utilizado y el umbral ptimo determinado por la funcin. Este ltimo es
un valor decimal pues edge internamente trabaja con intensidades comprendidas entre [0:1].

Facultad de Ciencias Fsicas y Matemticas
EL7007 Introduccin al Procesamiento Digital de Imgenes
7


Figura 9: Operador LoG para monalisa.jpg usando distintos sigmas
Se pide buscar el valor de sigma que permite distinguir de manera clara los bordes relevantes del
rostro. Observando la serie de imgenes de la Figura 9 se desprende que el valor ptimo de
esta comprendido entre 2 y 4, razn por la cual se evala el resultado de la funcin edge para
valores de la desviacin estndar entre [2:4] y los resultados se muestran en las imgenes de la
Figura 10.
Se puede concluir de la Figura 11 que el adecuado es o , pues de este modo los
bordes se ven bien definidos y ntidos, distinguindose detalles interiores del rostro.

Figura 10: Deteccin de bordes con Operador LoG
Usando los operadores del Problema 1 y Problema 2, se obtienen las imgenes que aprecian en la
Figura 11. La comparacin entre los distintos mtodos muestra que los mejores resultados son
obtenidos con LoG, pues ac los bordes son mejor definidos y ms limpios.
El operador LoG entrega mejores resultados pues el filtrado que se utiliza es equivalente a
difuminar la imagen previamente, y para este caso es ideal su aplicacin porque el cuadro tiene
pequeos bordes producto del envejecimiento de la pintura que no son de inters y no
corresponde a los rasgos del rostro, y este tipo de operador los ignora.
Facultad de Ciencias Fsicas y Matemticas
EL7007 Introduccin al Procesamiento Digital de Imgenes
8


Figura 11: Deteccin de bordes con distintos operadores.

2.4 Problema 4
En esta actividad se realiza lo mismo que se hizo con el Problema 3. Se trabaja usando la funcin
edge de MATLAB sobre la imagen monalisa.jpg para detectar sus bordes pero utilizando el
operador de canny, en vez de LoG. Los parmetros de entradas corresponden a un vector umbral
donde se indica un valor inferior y otro superior; y la desviacin estndar del filtro .
En el desarrollo se dej vaco el parmetro del umbral, pues la funcin es capaz de calcularlo
automticamente y se probaron distintos valores de para estimar el ptimo visualmente. En la
Figura 12 se muestran los resultados.
El valor de es el que entrega la mejor deteccin de bordes del rostro. La ventaja del
operador de Canny sobre el resto radica en que es capaz de encerrar las formas, adems los
bordes se encuentran localizados y son delgados. EL operador LoG no es capaz de encerrar
completamente la cara del retrato por lo que para esta imagen el mejor rendimiento lo entrega
Canny, y segn la bibliografa es as en general.

Figura 12: Operador de Canny con distintos sigmas

También podría gustarte