OPERADORES BASADOS EN LAPLACIANO (LAPLACIANO DE UNA GAUSSIANA)

El Laplaciano de una función de dos variables se define como:


El cual se puede aproximar en forma discreta como:


 Mascara de vecindad 8.                    Mascara de vecindad 4.

En una primera aproximación al Laplaciano de una Gaussiana, podría preprocesarse a la imagen con un suavizamiento Gaussiano, para eliminar ruido, seguido de un operador Laplaciano. El Laplaciano de una Gaussiana (LOG: Laplacian of a Gaussian) se expresa como:

Donde G es una distribución normal o Gaussiana en dos dimensiones.

La ventaja de usar un operador que se basa en la segunda derivada es que se puede estimar con mayor presicion la localización de la orilla, que es exactamente donde la segunda derivada cruza cero.
En forma similar al operador Sobel, se puede combinar el efecto de un suavizamiento Gaussiano con el Laplaciano en una sola mascara.

Para obtener este tipo de operador de una imagen es necesario realizar operaciones con ciertas mascaras.
En el siguiente algoritmo se muestran los pasos para obtener este tipo de operador de bordes laplaciano y laplaciano de gaussiana de una imagen.

Algoritmo.

1-Leer la imagen original, en tonos de grises.
2-Obtenemos el tamaño de la imagen original.
3-Creamos 3 matrices renglón-columna de la imagen original (r, c), para las imágenes resultantes, las tres de tipo uint8.
4-Se crean 3 arreglos una para la vecindad de 4: [0,-1,0],[-1,4,-1],[0,-1,0], otra para la vecindad de 8: [-1,-1,-1],[-1,8,-1],[-1,-1,-1] y para el operador laplaciano de una gaussiana [1,-2,1],[-2,4,-2],[1,-2,1] , de tipo float, que representaran la matriz de la mascara.
5-Recorremos la imagen original en renglón-columna (r, c).  Esto se hará de pixel a pixel, esto quiere decir, que en el recorrido se ira tomando una parte de la imagen original que sera como una subimagen o submascara de 3x3 y cada pixel de la subimagen y de la mascara (vecindad de 4) en la misma posición se multiplicaran y se irán sumando cada resultado y así sucesivamente. El resultado final se elevara al cuadrado. Esto se hará para la vecindad de 4.
6-Para la vecindad de 8 se hará el mismo procedimiento anterior (5), con la diferencia que ahora se tomara el arreglo de la mascara de la vecindad 8.
7-Para el operador laplaciano de una gaussiana se hará el mismo procedimiento anterior (5), con la diferencia que ahora se tomara el arreglo de la mascara del operador laplaciano de una gaussiana.
8-Mostramos las imágenes resultantes de la vecindad 4, 8 y laplaciano de una gaussiana.
9-Guardamos las imágenes.

Ejemplo




Referencia
http://ccc.inaoep.mx/~esucar/Libros/vision-sucar-gomez.pdf
http://www.songho.ca/dsp/convolution/convolution2d_example.html

No hay comentarios.:

Publicar un comentario