P. 1
esqueletizacion

esqueletizacion

|Views: 1.270|Likes:
Publicado porangelcaido86

More info:

Published by: angelcaido86 on Feb 24, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/08/2014

pdf

text

original

Esqueletización

Tópicos Especiales en Procesamiento Gráfico

Esqueletización
Carranza Athó, Fredy Tópicos Especiales en Procesamiento Gráfico Escuela Académico Profesional de Informática Universidad Nacional de Trujillo Trujillo Perú 2006
Resumen. La esqueletización pretende obtener de la imagen, un patrón continuo que contenga la menor cantidad datos posibles, pero que siga aun conteniendo un rastro del objeto original. Para ello existen algoritmos que operan de manera general eliminando los píxeles bajo reglas pre definidas, y deteniéndose cuando no haya mas cambios que hacer. Hay que tener en cuenta que el tiempo de procesamiento es alto en muchas ocasiones, pero ello generalmente depende del tipo de algoritmo y del tamaño de la foto.

1.

Introducción

Simplificar la forma de un objeto, o reducir la cantidad de datos que éste contiene siempre ha sido un tema de interés en el campo del procesamiento de imágenes. Para ello es necesario contar con técnicas adecuadas que nos faciliten el poder reducir los datos de los objetos. Unas de las técnicas más utilizadas para lograr este objetivo, es la esqueletización de las imágenes. Obtener el esqueleto de una imagen significara encontrar un patrón a partir de la forma del objeto, el cual contendrá menor datos pero conservará la continuidad y la menor cantidad menor de píxeles posible. Obtener un esqueleto, es un proceso iterativo y puede que demande mucho tiempo de procesamiento ya que generalmente todos los algoritmos, requieren muchos recorridos por toda la imagen. Existen a su vez algoritmos que provienen de estructuras matemáticas complejas y otros de cálculos lógicos; pero los cuales finalmente producen tener una nueva imagen con menos datos. 2. Definición

La esqueletización es un proceso de quitar de un patrón la mayor cantidad de píxeles posibles sin afectar la forma general del patrón. En otras palabras, después que los píxeles hayan sido quitados, el patrón debe ser reconocido. El esqueleto obtenido debe tener las siguientes tres propiedades. • • • Tan delgado como sea posible Conectado Centrado

Cuando estas características son alcanzadas el algoritmo debe detenerse. A continuación un patrón y su esqueleto.

Figura 1. Un patrón en forma de T, y su respectivo esqueleto.
1

así pues las siguientes referencias a un esqueleto serán como se mencionó. el polígono Voronoi de pi se define como el conjunto de todos los puntos que se encuentran mas cerca de pi que ningún otro sitio pj: V(i) = {p . se asumirá que los objetos dentro de las imágenes. TÉCNICAS EMPLEADAS En las presentes descripciones. Vor(Ω) = p i ∈Ω U ∂V( pi ) 2 . deben estar sombreados de color negro. donde cada punto del esqueleto tiene una intensidad la cual representa su distancia a los límites del objeto original. El término Transformación de eje medio (MAT) y Esqueletización son comúnmente usados de manera indistinguible. El conjunto de los límites ∂V(pI ) de todos V (pi ) es llamado diagrama de Voronoi (VD) o teselacion de Voronoi Vor(Ω). de ahí su nombre. 3. 3. De una manera más formal. lo que se suele representar no por celdas sino por puntos de manera discreta. el esqueleto de una imagen será tratado como la primera definición que dimos. Figura 2. mientras que el fondo debe ser blanco. Finalmente. Un diagrama de Voronoi es una estructura geométrica que representa información de proximidad acerca de un conjunto de puntos u objetos es decir. p ∈ E | ∀j ≠ i : d 2 ( p.1. p j )} Donde d2 denota la distancia entre dos puntos. tenemos un conjunto de puntos Ω = {pi } también llamados sitios en el plano E. mientras que MAT es una imagen de niveles de gris. El esqueleto de un rectángulo definido en términos de círculos bi tangenciales. Diagrama de Voronoi Los diagramas de Voronoi fueron por primera vez discutidos por Peter Lejeune-Dirichlet en 1850. El esqueleto es un imagen binaria que simplemente muestra el esqueleto de por sí. el diagrama de Voronoi de un conjunto de objetos geométricos es una partición del espacio en celdas cada una de la cuales contiene una colindancia con sus puntos más cercanos. pero fue hasta mucho después en 1908 que estos diagramas fueron escritos por Georgy Voronoi. pi ) ≤ d 2 ( p.Esqueletización Tópicos Especiales en Procesamiento Gráfico Otra manera de pensar sobre los esqueletos es como el lugar donde convergen los centros de círculos bi tangenciales que entran de manera completa dentro de la región considerada. la región poligonal convexa V(i) que contiene solo el sitio pi.

para los cuales se cumple siempre que los puntos dentro de los polígonos adyacentes a éste. de manera tal que los píxeles cubiertos por la máscara son analizados por ciertas condiciones básicas. tomados desde el punto p2 hasta p2 mismo. Para ello debemos considerar una máscara de 3x3 y de preferencia numeraremos los píxeles internos de la siguiente manera. p1. sino solamente los puntos de los bordes de la imagen.2. son los más cercanos que hay. p3. Algoritmo de Zhang . se repite en la secuencia de puntos de la matriz. En este algoritmo se utilizan dos subiteraciones. p2. Tenemos la función A(p). Diagrama de Voronoi En el caso que se utiliza una imagen. el diagrama de Voronoi contiene celdas o polígonos de Voronoi los cuales. Figura 3. De estas condiciones define que el punto sea borrado de la imagen o no. p6. habrá que contar cuantas veces se repite el patrón 0. de manera horaria. deben ser no todos los píxeles. es la variación de un algoritmo antiguo como el algoritmo de Hilditch y al igual que ese requiere de una cierta máscara y el paso de ella a través de toda la imagen. p5. En otras palabras. p4. p8. 3 . Esqueleto de una imagen binarizada a través del diagrama de Voronoi 3. los puntos que se deben considerar para producir un esqueleto. Veamos un ejemplo: Figura 5. Y además se cuenta con la función B(p).1. requieren la definición de dos funciones básicas. que representa la cantidad de veces que el patrón 0. encierran los puntos pi. ya que el diagrama de Voronoi estirará sus aristas hasta fuera de los bordes.Suen El algoritmo de Zhang Suen. cada una de ellas se encarga de eliminar píxeles de zonas determinadas de la máscara. La técnica que utiliza este algoritmo es la de los ocho vecinos. el diagrama de Voronoi solo necesitará ser intersectado con la imagen a la cual se le esta extrayendo el esqueleto. Las condiciones que se mencionaron inicialmente. p7. Así y solamente así se conseguirá que el esqueleto se forme de una manera correcta Si se siguen los pasos indicados.1 en p1.Esqueletización Tópicos Especiales en Procesamiento Gráfico En palabras sencillas.

P8 P7 P6 P1 P0 P5 4 P8 P7 P6 P1 P0 P5 P2 P3 P4 P2 P3 P4 P8 P7 P6 P1 P0 P5 P2 P3 P4 . 7. El siguiente ejemplo permitirá concebir con mayor claridad las funciones.p7=0 p1. se ve que como B(p0) = 7. se observa que como B(p0) = 0. A(p0)=2 P2 P3 P4 B(p0)=2 . determinadas las funciones mencionadas. por lo tanto no debe ser eliminado. y además es un punto del esqueleto. el cual no este aislado. Un píxel punto final. p0 no es un píxel de borde. Condición 2: A(p1)=1 Esta condición representa una prueba de conectividad. En el tercer cuadro. La segunda condición. primero que la cantidad de vecinos diferentes de cero de p0. 4.p3. el cual representa a una clase de ruido. De hecho. 6. sea eliminado. el punto es un punto aislado. asegura que ese píxel sea un píxel en el borde. es necesario comprender el significado de las mencionan. 2. 8. si es que cumple las siguientes condiciones: Para la primera subiteración 1.p5=0 p3. el esqueleto quedaría desconectado. El siguiente ejemplo aclara mejor las cosas. por lo tanto no debe ser borrado. que si B(p0) = 1. P8 P7 P6 P1 P0 P5 B(p1)=1 P2 P3 P4 P8 P7 P6 P1 P0 P5 B(P1)=0 P2 P3 P4 P8 P7 P6 P1 P0 P5 B(p1)=7 P2 P3 P4 En la figura podemos apreciar. es cualquier píxel que tiene como vecino un píxel del color del objeto. 2 <= B(p0) <= 6 A(p0) = 1 p1. se observa que si se elimina el píxel p0.Esqueletización Tópicos Especiales en Procesamiento Gráfico que se define como el número de píxeles 1 alrededor del píxel central.p5. 2 <= B(p0) <= 6 A(p0) = 1 p1. 3. y el píxel central debajo de la máscara será cambiado al color del fondo. La primera condición asegura que ningún píxel punto final. se debe pasar la mascara por toda la imagen. En el siguiente cuadro. y segundo que esta cantidad sea menor o igual que seis. sea mayor o igual que dos. entonces p0 es un píxel punto final. si se considera las figuras siguientes donde A(p0) > 1. A(p0)=1 Una vez. Condición 1: 2 <= B(p1) <= 6 condiciones que se Esta condición combina dos subcondiciones.p3.p7=0 Para la segunda subiteración 5. P8 P7 P6 P1 P0 P5 P2 P3 P4 P8 P7 P6 P1 P0 P5 B(p0)=2.p5.p7=0 Para entender mejor el algoritmo. pero este algoritmo no encarga de eliminarlo.

color( X ) = Negro V( X )  Falso .2. propuso a su vez combinar las dos expresiones anteriores en una sola. Holt. Algoritmo de Holt El algoritmo de Holt nació en el año 1987. IMPLEMENTACIÓN El algoritmo a implementar es el algoritmo 3. son las funciones definidas por el algoritmo de Zhang Suen. cuatro para cada una de las dos subiteraciones. 5 . como: Verdadero .2. 6: A(p1)=2 A(p1)=3 Por éstas condiciones se asegura que los puntos a borrar pertenezcan al borde sur este y en la esquina noroeste. La expresión resultante fue la siguiente: 4. y surgió para modificar las reglas que imponía el algoritmo de Zhang Suen. el algoritmo de Zhang Suen. o borde. de manera que solo se produzca una sola iteración en el recorrido de la imagen. para la primera iteración. y transformar dichas reglas en expresiones lógicas.Esqueletización Tópicos Especiales en Procesamiento Gráfico A(p1)=2 Condición 3. y mencionadas en el apartado 3. A continuación veremos el pseudocódigo del algoritmo. validando así que dichos puntos no pertenecerán al esqueleto. en caso contrario Donde A y B. de manera que el tratamiento de los patrones y las máscaras fuese en forma de ecuaciones.3. color( X ) = Falso Y edge. 4. Así pues Holt propuso resumir las ocho reglas. 5. Norte P1 P0 P5 Sur Oeste P8 P7 P6 P2 P3 P4 Este 3. en dos simples expresiones booleanas. y para la segunda los de los bordes noreste y la esquina suroeste. A( X ) = 1 ∧ 2 ≤ B( X ) ≤ 6 edge  Falso . Las expresiones se definen como: Para la primera iteración: V(C) ∧ (~ edge(C) ∨ ( V(E) ∧ V(S) ∧ ( V( N) ∨ V(O)))) Para la segunda iteración: V(C) ∧ (~ edge(C) ∨ ( V(O) ∧ V( N) ∧ ( V(S) ∨ V(E)))) Donde la función V. se define como: Verdadero .

2) == 255 o W(2. donde el algoritmo ha hecho las dos iteraciones.2) == 255 si W(2.w para j = 1+ w:nc .1) == 255 si W(1. el resultado no será el esperado.j) es un punto de color negro 0 llenar en W. y en la segunda son los píxeles del oeste norte. Como se puede apreciar.j) es un punto de color negro 0 llenar en W. 6 .3) == 255 o W(2. ya que si se cambian los colores de los píxeles a medida de cómo avanza el algoritmo. a la primera iteración los píxeles a eliminarse con los de la parte este y sur.1) == 255 marcar el píxel i.2) == 255 o W(2.1) == 255 marcar el píxel i. De manera didáctica se presenta una imagen.2) == 255 o W(2.2) == 255 o W(2.w si I(i.w si I(i.j como candidato a ser borrado fin si fin si fin si fin si fin si fin si fin para fin para borrar todos los píxeles marcados mientras mas píxeles puedan ser marcados como candidatos Vale aclarar que el algoritmo en las iteraciones.2) == 255 o W(3. y finalmente acaba resultando en el esqueleto.3) == 255 o W(3. todos los vecinos del píxel si hay algún píxel blanco en W si fB(W)>= 2 y fB(W) <= 6 si fA(W) == 1 si W(1. todos los vecinos del píxel si hay algún píxel blanco en W si fB(W)>= 2 y fB(W) <= 6 si fA(W) == 1 si W(1.w para j = 1+ w:nc . no debe borrar los píxeles.j como candidato a ser borrado fin si fin si fin si fin si fin si fin si fin para fin para borrar todos los pixeles marcados para i = 1 + w:nf .3) == 255 o W(3.Esqueletización Tópicos Especiales en Procesamiento Gráfico Entrada: Imagen I Salida: Esqueleto hacer para i = 1 + w:nf . sino que debe marcarlos.

RESULTADOS (b) (c) La implementación fue realizada en el MatLab. Entrada Salida Iteraciones 26 16 13 43 7 . y las imágenes que se procesaron.Esqueletización Tópicos Especiales en Procesamiento Gráfico (a) 5. fueron imágenes binarias sencillas y no de mucho tamaño.

Esqueletización Tópicos Especiales en Procesamiento Gráfico 34 11 15 17 15 9 21 34 8 .

ayc. MERAD.pdf [4] M. PERKINS. 2004 http://www. vale saber que cuando se trata de este algoritmo. Pero si bien es cierto que el resultado es efectivo. Manuscript Document Digitalization and Recognition: A First Approach. C. disponible en: http://www. Skeletonization of Two-Dimensional regions Using Hybrid Method. PAGOLA.ac. 1994. Mar del Plata Argentina. MALLAN. disponible en: http://wscg. M.uk/hipr/html/skeleton. pero los cuales por su particularidad. Universidad Pública de Navarra.mcgill. 1984 [6] M.Esqueletización Tópicos Especiales en Procesamiento Gráfico 8 8 6. ya que los procedimientos necesitan barrer la imagen continuamente.cee. FISHER.Los algoritmos revisados. Francia. las formas curvas generalmente quedan con un esqueleto poco reconocible. LELANDAIS.es/miguel. . ya que solo parará cuando ya no se pueda esqueletizar más la imagen.Y. S. Canada Montreal.htm [5] T. pueden o no obtener exactamente el mismo resultado. disponible en: http://cgm. 1997.zcu. Skeletonization[en línea].ca/~godfried/teaching/projects97/azar/skeleton. Hypermedia Image Processing Reference[en línea]. Imágenes binarias[en línea].hw. S. SUEN. Universidad de Edinburgo. A fast parallel algorithm for Thinning digital patterns.Y. AZAR. Paper.html [3] D. A WLAKER.Para la obtención de cualquier esqueleto el tiempo de proceso siempre es algo largo.pagola/binarias. Zhang.El algoritmo implementado funciona muy bien con las imágenes presentan formas irregulares y rectas. así pues lo demuestran los resultados anteriores.cz/wscg2004/Papers_2004_Short/K05. Paper. E WOLFART. GIUSTI. M. CONCLUSIONES . Si bien es cierto obtiene un esqueleto puede que este no sea el mismo para todos los métodos. VILA. 2005 9 .cs. REFERENCIAS BIBLIOGRÁFICAS [1] D. Y el proceso se debe estar repitiendo muchas veces. LUJAN. presentan diversidad de enfoques. . Canada Montreal.unavarra.html [2] B. G.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->