OBTENCIÓN DEL GÉNERO DE UNA IMAGEN DIGITAL (DOCUMENTACIÓN) Introducción Cálculo del género de...

Post on 24-Jan-2016

221 views 2 download

Transcript of OBTENCIÓN DEL GÉNERO DE UNA IMAGEN DIGITAL (DOCUMENTACIÓN) Introducción Cálculo del género de...

OBTENCIÓN DEL GÉNERO DE UNA IMAGEN DIGITAL(DOCUMENTACIÓN)

• Introducción• Cálculo del género de una imagen digital• Algoritmos de obtención del género de una

imagen digital » Matriz binaria» Código de fisuras» Longitud de secuencias» Árbol de cuadrados

• Consideraciones » Efecto del ruido» Obtención del género en 3D

• Glosario de términos• Bibliografía

OBTENCIÓN DEL GÉNERO DE UNA IMAGEN DIGITAL(PRESENTACIÓN)

• Introducción al género de una imagen digital.

• Cálculo del género de una imagen digital.

• Algoritmos de obtención del género de una imagen digital.» Matriz binaria» Código de fisuras» Longitud de secuencias» Árbol de cuadrados

• Software implementado.

INTRODUCCIÓN

• Los atributos topológicos de una figura son propiedades invariantes de una figura bajo una transformación rubber-sheet.

• La distancia métrica no es un atributo topológico.

• La conectividad sí es un atributo topológico.

INTRODUCCIÓN

(a) Dos objetos (b) Dos objetos despuésdel estiramiento“rubber sheet”

(c) Dos objetos conagujeros C=2, H=3, E= -1

Definición:

Género = Número de Euler = C - H

C = Nº de objetos componentes conectados

H = Nº de agujeros

INTRODUCCIÓN

• Ejemplo:

Imagen

C = 2

H = 5

E = C - H = 2 - 5 = -3

S

INTRODUCCIÓN

Los objetos de forma irregular pueden ser

descritos por sus constituyentes topológicos:– La región envuelta por la banda de caucho se

llama envuelta convexa del objeto.– El conjunto de puntos dentro de la envuelta

convexa, que no está en el objeto, forma la deficiencia convexa. Hay dos tipos:

» Regiones totalmente encerradas por el objeto, llamadas lagos.

» Regiones situadas entre el perímetro de la envuelta convexa y el objeto, llamadas bahías.

INTRODUCCIÓN

(a) Objeto (b) Envuelta convexa

(c) Bahías y lagos

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL

• En general:

Género = g(S) = Nº de componentes conexas -

- Nº de agujeros

• Ejemplo:

ImagenNº de componentes conexas = 2

Nº de agujeros = 5

g(S) = 2 - 5 = -3

S

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Con componentes simplemente conexas

• Si las componentes son simplemente conexas (no tienen agujeros):– Hacemos borrado punto por punto de cada una

de ellas hasta que se queden en un solo punto (un 1).

– Contamos el número de 1’s resultantes, que es el número de componentes simplemente conexas, o sea, el género.

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITALCon componentes múltiplemente conexas

• Si las componentes son múltiplemente conexas (tienen agujeros), puede haber componentes conexas anidadas. Construimos el árbol de adyacencias:– La raíz es el fondo de la imagen (nodo blanco).– Los hijos de la raíz son las componentes conexas

con agujeros (nodos negros).– Los hijos de los nodos anteriores son el número

de agujeros de cada uno de éstos.– Igual dentro de los agujeros, etc...

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Con componentes múltiplemente conexas

g(S) = Nº nodos negros -

- Nº nodos blancos =

= 2 - 5 = -3

Imagen Árbol de adyacencias Género

• Ejemplo de árbol de adyacencias:

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

1 0 0 1 0 0 0 0

0 0 0 0 1 0 0 1

1 0 0 1

0 1 1 0

0 1 1 0 1 1 1 1

1 1 1 1 0 1 1 0

, , ,

,

, , ,

Patrón: Nº veces en la imagen:

v’

d’

t’

g S v t d( ) ( ' ' ' ) 1

42

En (8,4) adyacencias:En (4,8) adyacencias:

g S v t d( ) ( ' ' ' ) 1

42

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

1

1 1 1

1

1 1

1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1

1 1

v

e

d

t

q

,

,

, , ,

Patrón: Nº veces en la imagen:

g S v e q( ) ( ) 1

4g S v e d t( ) ( )

1

4

En (4,8) adyacencias: En (8,4) adyacencias:

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

• Las fórmulas implican que:

4g(S) = Nº esquinas convexas de S -

- Nº esquinas cóncavas de S• Ya que:

– Cada patrón v’ tiene una esquina convexa– Cada patrón t’ tiene una esquina cóncava– Cada patrón d’ tiene dos esquinas:

• convexas en (4,8) adyacencias (1’s no conectados)

• cóncavas en (8,4) adyacencias (1’s conectados)

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

• Ejemplo 1

0 0 0 00 1 1 00 1 1 00 0 0 0

v’=4 (4 esquinas convexas)t’=d’=0g(S)= 1/4(4-0)=1 (tanto en (4,8) como en (8,4) adyacencias)

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

0 0 0 0 0 00 1 1 1 1 00 1 0 0 1 00 1 0 0 1 00 1 1 1 1 00 0 0 0 0 0

v’=4 (4 esquinas convexas)t’=4 (4 esquinas cóncavas)d’=0g(S)= 1/4(4-4)=0 (tanto en (4,8) como en (8,4) adyacencias)

• Ejemplo 2

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

0 0 0 0 00 0 1 0 00 0 1 0 00 0 1 0 00 0 0 0 0

v’=4 (4 esquinas convexas)t’=d’=0g(S)= 1/4(4-0)=1 (tanto en (4,8) como en (8,4) adyacencias)

• Ejemplo 3

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

v’=5 (5 esquinas convexas)t’=1 (1 esquina cóncava)d’=0g(S)= 1/4(5-1)=1 (tanto en (4,8) como en (8,4) adyacencias)

• Ejemplo 4

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

0 0 0 0 00 1 1 0 00 1 0 1 00 1 1 1 00 0 0 0 0

v’=5 (5 esquinas convexas)t’=3 (3 esquinas cóncavas)d’=1 (2 esquinas convexas en (4,8) adyacencias o 2 esquinas cóncavas en (8,4) adyacencias)g(S)= 1/4(7-3)=1 (en (4,8) adyacencias)g(S)= 1/4(5-5)=0 (en (8,4) adyacencias)

• Ejemplo 5

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

• Ejemplo 6

0 0 0 0 0 0 00 1 1 0 1 1 00 1 1 0 1 1 00 0 0 0 0 0 0

v’=8 (8 esquinas convexas)t’=d’=0g(S)= 1/4(8-0)=2 (tanto en (4,8) como en (8,4) adyacencias)

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

v’=4 (4 esquinas convexas)t’=8 (8 esquinas cóncavas)d’=0g(S)= 1/4(4-8)=-1 (tanto en (4,8)

como en (8,4) adyacencias)

• Ejemplo 7

000000000000111000000101000011101110010000010011101110000101000000111000000000000

v’=12 (12 esquinas convexas)t’=12 (12 esquinas cóncavas)d’=0g(S)=1/4 (12-12)=0 (tanto en (4,8) como en (8,4) adyacencias)

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITAL Cómputo del Género mediante patrones

• Ejemplo 8

CÁLCULO DEL GÉNERO DE UNA IMAGEN DIGITALOtras representaciones

• Códigos de fisuras:

g(S) = Nº bordes externos - Nº bordes internos• Árbol de cuadrados: g(S) = v - e + q

– v = Nº hojas negras

– e = Nº pares de nodos cuyos bloques son adyacentes horizontal o verticalmente

– q = Nº conjuntos de tres o cuatro nodos cuyos bloques coinciden en y alrededor de un punto común

• Longitud de secuencias:– Para cada secuencia p, sea k(p) el número de secuencias

en la fila anterior a la que p es adyacente

g S k( ) ( ( )) 1

ALGORITMOS DE OBTENCIÓN DEL GÉNERO DE UNA

IMAGEN DIGITAL

• Matriz binaria

• Código de fisuras

• Longitud de secuencias

• Árbol de cuadrados

MATRIZ BINARIAPara i desde 1 hasta N-1 hacer Para j desde 1 hasta M-1 hacer

a1 matriz [i-1][j-1]a2 matriz [i-1][j]a3 matriz [i][j-1]a4 matriz [i][j]

suma a1+a2+a3+a4

Seleccionar(suma) 1: v v + 1 2: Si (a1 = a4) entonces d d + 1 Fsi 3: t t + 1Fseleccionar

Fpara Fpara

MATRIZ BINARIA

0 0 0 0 00 0 0 1 00 1 0 1 00 1 1 1 00 0 1 0 00 0 0 0 0

MATRIZ BINARIA Cómputo del Género mediante patrones

1 0 0 1 0 0 0 0

0 0 0 0 1 0 0 1

1 0 0 1

0 1 1 0

0 1 1 0 1 1 1 1

1 1 1 1 0 1 1 0

, , ,

,

, , ,

Patrón: Nº veces en la imagen:

v’

d’

t’

g S v t d( ) ( ' ' ' ) 1

42

En (8,4) adyacencias:En (4,8) adyacencias:

g S v t d( ) ( ' ' ' ) 1

42

ALGORITMOS DE OBTENCIÓN DEL GÉNERO DE UNA

IMAGEN DIGITAL

• Matriz binaria

• Código de fisuras

• Longitud de secuencias

• Árbol de cuadrados

CÓDIGO DE FISURAS

• Algoritmo de Crack Following

obtenemos:

- Nº bordes externos = Nº componentes conexas

- Nº bordes internos = Nº de agujeros

Género = Nº bordes externos - Nº bordes internos

ALGORITMOS DE OBTENCIÓN DEL GÉNERO DE UNA

IMAGEN DIGITAL

• Matriz binaria

• Código de fisuras

• Longitud de secuencias

• Árbol de cuadrados

LONGITUD DE SECUENCIAS

Para j = 1 hasta N-1 hacer i0i1c0c11 long0matrix[j-1][1] long1matrix[j][1]

Mientras (long0 <= M y long1 <= M)Si (long1 > long0) c0 no(c0) i0i0+1 long0long0 + matrix[j-1][i0]sino c1 no(c1) i1i1+1 long1long1 + matrix[j][i1] Si (c1 = 0) num_secnum_sec+1 Fsi Fsi

Si (c0 = 0 y c1 = 0) SumaSuma+1Fsi

Fmientras Fpara

num_secnum_sec-M

generonum_sec - suma

LONGITUD DE SECUENCIAS

0 0 0 0 00 0 0 1 00 1 0 1 00 1 1 1 00 0 1 0 00 0 0 0 0

0 50 3 1 10 1 1 1 1 10 1 3 10 2 1 20 5

LONGITUD DE SECUENCIAS

0 0 0 0 00 0 0 1 00 1 0 1 00 1 1 1 00 0 1 0 00 0 0 0 0

LONGITUD DE SECUENCIAS

0 0 0 0 00 0 0 1 00 1 0 1 00 1 1 1 00 0 1 0 00 0 0 0 0

Género = nº secuencias - nº adyacencias

ALGORITMOS DE OBTENCIÓN DEL GÉNERO DE UNA

IMAGEN DIGITAL

• Matriz binaria

• Código de fisuras

• Longitud de secuencias

• Árbol de cuadrados

ÁRBOL DE CUADRADOS

- v = Nº hojas negras

- e = Nº pares de nodos cuyos bloques son adyacentes horizontal o verticalmente

- q = Nº conjuntos de tres o cuatro nodos cuyos bloques coinciden en y alrededor de un punto común

Género = v - e + q

CODIFICACIÓN DEL PROGRAMA

Acceso a un Pixel de la Imagen

TImage *imagen;...imagen->Picture->LoadFromFile(RUTA_DEL_ARCHIVO);...imagen->Canvas->Pixels[x][y];