Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando...

45

Transcript of Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando...

Page 1: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos
Page 2: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Cuando se termina de delimitar objetos en

una imagen usando los operadores de

búsqueda de bordes aparece el problema de

definir dichos objetos dentro del sistema.

Page 3: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Supongamos que definimos una característica

que definió cual pixel está adentro y cual

está afuera de cada objeto

Creamos así imágenes binarias (un bit para

la cuantificación) blanco 0 negro 1

3

Sea el objeto A definido por A={aij / propiedad de aij == True } Creo entonces una matriz binaria AB en la que queda resaltada el/los objetos hallados en la imagen inicial.

Page 4: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Obtenida la imagen binaria se ve que quedan pixeles o pequeños grupos de ellos que sabemos que deberían pertenecer al objeto pero que por diferentes motivos no quedaron identificados.

Otra posibilidad es que aparezcan pixeles que

sabemos que no deberían haber aparecido.

Page 5: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Para incorporar estos pixeles al objeto conviene hacer una operación que se corresponde con alguna de los siguientes conceptos: • Si alguno de los pixeles vecinos al

pixel en estudio pertenece al objeto entonces el pixel de estudio también pertenece al objeto.

A esta operación lógica se la llama operación de dilatación.

Page 6: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Dilatado

Page 7: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Para quitar pixeles que no pertenecen al objeto conviene hacer otra operación: • Si todos los pixeles vecinos al pixel de

estudio pertenecen al objeto, entonces el pixel de estudio también pertenece al objeto. (Si alguno de los pixeles vecinos al pixel de estudio no pertenece al objeto entonces ese pixel de estudio tampoco pertenece al nuevo objeto).

Esta operación se llama erosión.

Page 8: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Erosionado

Page 9: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Este par de operaciones se puede restringir con algún elemento de estructura. Antes dijimos: “si todos los vecinos” Ahora diremos “si estos vecinos” (los que cumplen la vecindad según una forma determinada)

Page 10: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Dilatación con estructura de vecinos N=4 y N=8

Cuando no se define la estructura se da por entendido que es de vecindad de orden 8 (N=8)

Page 11: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Mostrar con ejemplos las dilataciones y erosiones.

presentar apertura y cierre.

Extender a vecinos de orden 4 o 2 verticales u

horizontales o en diagonal o cualquier juego

de vecinos.

Ampliar el concepto de conexión desde una

matriz binaria a tonalidades de gris.

Dilataciomes y erosiones múltiples.

Adelgazamiento. Esqueletización.

Page 12: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Parte del plano de Madrid dilatado y erosionado

Page 13: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

13

Page 14: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Acá usamos el concepto de vecino Conviene recordar la definición de vecindad y conectividad. Vecino lo es según una estructura de pixeles alrededor del central. Dos pixeles estarán conectados cuando haya alguna propiedad que comparten ambos pixeles.

Vecinos de orden 4 o de orden 8.

También se lo puede definir a partir de alguna

estructura particular dando el origen y definiendo

el/los puntos vecinos {[0,0],[1,1]}

Page 15: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Sea un objeto

A= {ai,j/propiedad de ai,j==verdad}

Y un elemento de estructura por ejemplo

B={[0,0] [1,0] [0,1]}

Page 16: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Para formalizar el recorrido sobre la vecindad conviene hacer las siguientes definiciones. Al objeto. A = {aij para todo aij de A} Lo desplazaremos en ß A + ß = {aij + ß para todo aij de A} O será desplazado según una estructura B={[0,0];ß1;ß2} A + B = {aij + ßk para todo aij de A y para todo ßk de B}

Page 17: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Entonces la operación de dilatación resultará de desplazar todo el cuerpo A (o sea cada pixel de A) según cada uno de los elementos ßk de la estructura B. Y por último se toma la unión de todos estos desplazamientos

Page 18: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Dilatado

Page 19: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

En tanto que la erosión resultará de desplazar todo el cuerpo A (o sea cada pixel de A) según la inversa de cada uno de los elementos de la estructura B o sea en -ßk. Y por último se toma la intersección de todos estos desplazamientos

Page 20: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Erosionado

Page 21: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

21

La dilatación será entonces

La erosión será entonces

Con las dilataciones agrandamos los objetos en tanto que con las erosiones los achicamos.

Page 22: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Con las dilataciones y erosiones se modifica el “volumen” del objeto, es por eso que se decide combinar ambas operaciones. Es decir hacer tantas de una como de otra. Se definen la Apertura y Cierre como:

Page 23: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

23

O sea que en la Apertura primero se hace una erosión y luego una

dilatación

(si había un hueco en el interior de un objeto en la imagen A, se lo abre

y si hay un objeto del tamaño de un pixel, se lo borra)

En cambio en el Cierre primero se hace una dilatación y luego una erosión

(si había un hueco en el interior de un objeto en la imagen A, desaparece

también se quitan rugosidades huecas de los bordes de los objetos).

El objeto de estas operaciones es el de mantener el tamaño del objeto

Page 24: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

The opening of A by B, is given by the erosion by B, followed by the dilation by B, that is

The opening (given by the dark dashed lines) of A (given by the solid lines. The structuring element B is a disc. The internal dashed structure is A eroded by B.

24

Page 25: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Apertura y Cierre

Cierre Apertura

Page 26: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

26

Page 27: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

27

Page 28: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

28

Page 29: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Segunda vuelta.

Los operadores morfológicos son Operacioes Booleanas.

Generalización.

Page 30: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Esto significa que al sumar sobre m y n estoy recorriendo la matriz, observo la característica del pixel (i,j) y si la cumple la dejo ( o pongo un uno en la matriz binaria que construyo) y si no, pongo un cero.

Page 31: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

31

Page 32: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

El concepto de operador morfológico es estudiado y formalmente definido dentro de los espacios de Minkowski.

Pero vamos a tratar de hacer una presentación

menos formal y más práctica de ellos.

Definiremos el operador dilatación basado en

criterio: Si alguno de los vecinos del pixel en

estudio está conectado con él entonces ese

pixel permanece en el objeto.

D(A,B)=AB=

Page 33: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Para que esto quede claro conviene saber que significado le damos al concepto de vecino y al concepto de conección.

Por simplicidad comencemos suponiendo que

los vecinos son los ocho pixeles que rodean al

que estamos considerando. Y por conexión

supongamos que tienen el mismo valor.

La metodología de su aplicación es la misma

de la convolución salvo que en vez de sumar y

multiplicar se usan las operaciones AND y OR.

Page 34: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Entonces el primero de los operadores tenderá

a agrandar el objeto completando agujeros

pequeños internos y extendiendo los bordes.

Lo llamaremos OPERADOR DILATACIÓN

D(A,B)=AB

Y el segundo de los operadores tenderá a achicar el objeto agrandando agujeros pequeños internos y contrayendo los bordes.

Lo llamaremos OPERADOR EROSIÓN.

Page 35: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Vecinos de orden 4 o

de orden 8.

También se lo puede

definir a partir de

alguna estructura

particular {[0,0],[1,1]}

Page 36: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Sea un objeto A= {ai,j/propiedad de ai,j==verdad}

Y un elemento de estructura B={[0,0] [1,0] [0,1]}

Page 37: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

37

Page 38: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos
Page 39: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos
Page 40: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

40

Page 41: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

41

Page 42: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

42

Page 43: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

43

Page 44: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

Supongamos que para alguna figura determinada hemos obtenido su imagen binaria.

El contorno será el conjunto de puntos que resultan de hacer la resta entre una dilatación y la imagen binaria o de la imagen original binaria menos su erosión

E= B⊗S= {x , y ∣Sx , y⊆B}

B= [1 1 1

1 1 1

1 1 1 ]D= B⊕S= {x , y ∣Sx , y∩ B}

Page 45: Cuando se termina de delimitar objetos enCuando se termina de delimitar objetos en una imagen usando los operadores de búsqueda de bordes aparece el problema de definir dichos objetos

45