Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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.
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.
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.
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.
Dilatado
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.
Erosionado
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)
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)
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.
Parte del plano de Madrid dilatado y erosionado
13
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]}
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]}
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}
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
Dilatado
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
Erosionado
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.
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:
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
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
Apertura y Cierre
Cierre Apertura
26
27
28
Segunda vuelta.
Los operadores morfológicos son Operacioes Booleanas.
Generalización.
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.
31
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=
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.
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.
Vecinos de orden 4 o
de orden 8.
También se lo puede
definir a partir de
alguna estructura
particular {[0,0],[1,1]}
Sea un objeto A= {ai,j/propiedad de ai,j==verdad}
Y un elemento de estructura B={[0,0] [1,0] [0,1]}
37
40
41
42
43
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}
45