Operaciones Con Imágenes Binarias - Basadas En Árboles Binarios - 1
ÍNDICE 1. INTRODUCCION 2. ANÁLISIS 3. IMPLEMENTACIÓN 4. OPERACIONES Y EJEMPLOS 5. CONCLUSIÓN 2
1.INTRODUCCIÓN - En que consiste este trabajo? - 3
En que consiste este trabajo? Aplicación n de operaciones sobre imágenes binarias representadas mediante una determinada codificación. La codificación n utilizada es árboles binarios basados en interpolación. n. (ibb( ibb) 4
En que consiste este trabajo? Imagen Original 5
En que consiste este trabajo? Imagen Original Representación y Codificación {1245,2132,1311} 6
En que consiste este trabajo? Imagen Original Representación y Codificación Operaciones {1245,2132,1311} Traslación Rotación... Reflexión 7
En que consiste este trabajo? Imagen Original Representación y Codificación Operaciones {1245,2132,1311} Traslación Rotación... Representación y Codificación Reflexión {1278,2232,1378,5464} 8
En que consiste este trabajo? Imagen Original Representación y Codificación Operaciones {1245,2132,1311} Traslación Rotación... Imagen Final Representación y Codificación Reflexión {1278,2232,1378,5464} 9
2. ANÁLISIS En que consiste representación usada: IBB? 10
En que consiste la codificación utilizada: IBB? La representación ibb consiste en un conjunto de códigos que obtenemos de la siguiente forma: Partiendo de una imagen binaria, realizamos una representación de la misma mediante un árbol binario. Para obtener el árbol, utilizamos el siguiente procedimiento (visto en clases de teoría): 11
Procedimiento: Realizamos primero una división vertical de la imagen. Si alguna de las partes no es totalmente blanca ni negra realizamos a la misma una división horizontal. Seguiríamos dividiendo así la imagen hasta encontrar bloques totalmente negros o blancos. Estos bloques serán las hojas del árbol. A la hojas negras le calculamos un código binario en base al nivel de profundidad del árbol y su coordenada inferior izquierda. 12
Imagen Árbol hoja encriptación código Imagen 13
Imagen Árbol hoja encriptación código Imagen Árbol 14
Imagen Árbol hoja encriptación código Imagen Árbol 15
Imagen Árbol hoja encriptación código Imagen Árbol Encriptación 16
Imagen Árbol hoja encriptación código Imagen Árbol Encriptación Código: {2345} 17
Representación Cómo construimos el árbol? 18
Representación 19
Representación left 20
Representación left down up 21
Representación left down up l r 22
Representación left down up l r d u 23
Representación left down up l r d u l r 24
Representación left down up l r l r d u l r 25
Representación left down up l r l r d u d u l r 26
Representación left down up l r l r d u d u l r l r 27
Representación left down up l r l r d u d u l r l r l r 28
Representación left down up l r l r d u d u l r l r l r u d 29
Representación left right down up down up l r l r l r l r d u d u d u d u l r l r l r l r l r u d d u d u d u d u l r 30
Código Ibb left right down up down up l r l r l r l r d u d u d u d u l r l r l r {51576} l r l r {24512} {32192} u d d u d u d u d u {32720} {62800} l r {63312} {63340} {62932} 31
Representación La imagen queda codificada mediante unos simples códigos En particular esta imagen, queda divida en 8 bloques básicos, que dan lugar a los siguientes códigos: { 24512,32192, 32720,62800, 51576,63312, 62932,63340 } 32
Cómo se consiguen los códigos? 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d u l r l r d u d u l r 0 1 2 3 4 5 Para calcular el código de una hoja necesitamos la coordenada inferior izquierda (i,j) del bloque que representa y su nivel de profundidad en el árbol (l). 33
Pasamos i y j a binario: i = n- 1 ( i k * 2 k ) j = n- 1 ( j k * 2 k ) Obtenemos S: S = 2 2*n 2 (2*n (2*n l) Pasamos S a binario: S = 2*n- 1 (s k * 2 k ) Obtenemos el código c en binario: Q = n-1 (i k * 2 4*k+3 ) + n-1 (j k * 2 4*k+1 ) + 2*n-1 (s k * 2 k ) A cada hoja negra le calculamos su código c y así obtenemos el código c ibb de la imagen 34
3. IMPLEMENTACIÓN - Cómo lo hemos conseguido? - 35
Partimos de una imagen binaria. Queremos: 1. Analizar por cuantos bloques está formada 2. Calcular el código de cada bloque Para ello hemos implementado 2 algoritmos: 1. Alg. Para detectar bloques en la imagen: es recursivo, mediante la técnica divide y vencerás 2. Cálculo de bloque: en base a la coordenada inferior izquierda y a su correspondiente nivel en el árbol 36
4. OPERACIONES Y EJEMPLOS 37
Las distintas operaciones que realizamos son: Contar el número de píxeles negros. Calcular el centroide. Calcular código ibb de bloque o imagen Trasladar una imagen o bloque Rotar una imagen o bloque Reflexión de una imagen o bloque 38
5. CONCLUSIÓN 39
Inconvenientes: La imagen ha de ser cuadrada y con lado potencia de dos (l = 2 ^ n) Aplicable solo a imágenes en blanco y negro (imágenes binarias) Ventajas: Fácil representación Posible codificación o compresión de información Aplicaciones Posible transferencias de imágenes 40
6. REFERENCIAS 41
Operations on binary images represented by interpolation based bintrees: Debranjan Sakar, Nishit Gupta.. 1998 42