Sunteți pe pagina 1din 77

Morfologa matemtica

Aplicacin a procesado de imgenes binarias y monocromticas


Autores: Jos Luis Alba, Fernando Martn - Universidad de Vigo Jess Cid - Universidad Carlos III de Madrid Inmaculada Mora - Universidad Rey Juan Carlos Ultima revisin: abril de 2006

ndice
Introduccin Elementos del procesado morfolgico Dilatacin Erosin Filtros morfolgicos Algoritmos morfolgicos Morfologa de grises Aplicaciones
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Introduccin
Esquema general del anlisis de imgenes
Tcnicas de nivel intermedio
SEGMENTACIN

PREPROCESADO (MEJORARESTAURACIN)

EXTRACCIN DE CARACTERSTICAS

BASE DE CONOCIMIENTO

imagen

ADQUISICIN DE LA IMAGEN

RECONOCIMIENTO CLASIFICACIN INTERPRETACIN

Resultado

Tcnicas de bajo nivel

Tcnicas de alto nivel


3

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Morfologa:
Estudio de la forma y la estructura

Morfologa matemtica
Es una tcnica de procesado no lineal de la imagen, interesada en la geometra de los objetos Anlisis morfolgico
Permite extraer componentes de la imagen que son tiles en la representacin y descripcin de la forma de las regiones:
Fronteras Esqueletos,

Permite obtener caractersticas relevantes de los objetos en la imagen:


Forma Tamao, ...

Procesado morfolgico:
Permite transformar la forma o la estructura de los objetos en una imagen
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Tipos:

Usos:

Morfologa binaria (es la ms frecuente). Morfologa de niveles de gris Morfologa de imgenes policromticas Post-procesado:

Por ejemplo, tras un proceso de segmentacin Segmentacin Procesado morfolgico

Pre-procesado:

por ejemplo, previo a un sistema de reconocimiento. Anlisis morfolgico


Descriptores

Reconocimiento de objetos

Aplicaciones:

Anlisis de imgenes mdicas, teledeteccin, visin artificial, ...


5

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Ejemplos:
Extraccin de los dedos de una mano Separar llaves

Contar el nmero de clulas

Contar el nmero de dientes en una rueda

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Elementos del procesado morfolgico


Los fundamentos del anlisis y procesado morfolgico se basan en el lgebra de conjuntos y en la topologa Tres elementos:
a) b) c)

Conjuntos ( Imgenes) Operadores Morfolgicos (dilatacin, erosin, apertura/cierre) Elementos Estructurantes (EE)
Imagen binaria Elemento estructurante Imagen binaria

Conjunto Operador morfolgico

Conjunto

Conjunto
7

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Elementos del procesado morfolgico

Conjuntos

El lenguaje que se usa en las tcnicas morfolgicas proviene de la teora de conjuntos Cada conjunto representa la forma de los objetos en una imagen
Imgenes binarias:
Blanco = 1 Negro = 0

Cada conjunto de todos los pxeles negros/blancos de una imagen binaria, es una descripcin completa de la imagen: Si (o viceversa), se definen dos conjuntos (o planos):

Imgenes monocromticas:

En una imagen binaria, los conjuntos existentes son puntos de un espacio 2 D: cada elemento es un punto de coordenadas (x,y) en el plano bidimensional (de la imagen) Una imagen de niveles de gris puede ser representada como conjuntos cuyas componentes se encuentran en un espacio 3D. En este caso, 2 componentes de cada elemento de un conjunto se refiere a las coordenadas del pxel, y la tercera componente est relacionada con la intensidad.
8

Primer plano: A = {(x,y)|f(x,y) = 1} Fondo: B = {(x,y)|f(x,y) = 0}

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

En virtud de la equivalencia entre imgenes binarias y conjuntos, cualquier transformacin sobre un conjunto define una nueva imagen binaria Operaciones sobre conjuntos

Sean A y B conjuntos de puntos en un espacio Z 2 con componentes a = (a1,a2), b = (b1, b2) Complementario: Traslacin:
Ac = Ac = {(x,y) | (x,y) A} Ax = A + x = {a + x | a A} con x = (x,y) = -A = {-a| a A} - a = (- a1,- a2)

Transposicin (Reflection):

Diferencia

El transpuesto de un conjunto simtrico, coincide con l mismo

A-B = {a | a A, a B} = AB

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Elementos del procesado morfolgico

Elemento estructurante
Idea:

Examinar la estructura geomtrica de una imagen usando como sonda un patrn de ajuste que se denomina elemento estructurante (E.E.). La forma y tamao del EE caracteriza las formas de los objetos presentes en una imagen permiten determinar la estructura de un conjunto X El EE se maneja de modo anlogo a una mscara de convolucin, aunque ahora trabajamos con operaciones sobre conjuntos y la convolucin se basa en operaciones aritmticas

Imagen original

EE encaja

EE no encaja
10

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Ajuste del EE
El EE puede tener cualquier tamao y forma (horizontal, vertical, cuadrado, ...). Su centro se sita en cada pxel de la imagen original, aplicando la operacin morfolgica sobre los puntos situados bajo el E.E.

EE

Elemento Estructurante
(cuadrado de lado 3)

Imagen Original I(x,y)

Imagen resultante

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

11

Elementos del procesado morfolgico

Operadores morfolgicos
Operador (Imagen):

Cualquier transformacin de una imagen cuyo resultado es otra imagen

Tipos:
Extensivo: si el resultado contiene a la imagen original A (A) Anti-extensivo: si el resultado est contenido en la imagen original (A) A Idempotente: si al aplicar el operador dos o ms veces, el resultado es el mismo que si se aplicara una sola vez ( (A)) = (A)

Un operador puede no ser ni extensivo ni antiextensivo


Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

12

Dilatacin
Dilatacin de la imagen A por el EE C :
C(A) = A C = {x | ( )x A 0}
Suponiendo que el EE contiene al origen y es simtrico (en este caso el EE y su reflexin son iguales): la salida de la dilatacin es el conjunto de puntos barridos por el centro del EE mientras algn punto de C tocaba a algn punto de A.
Se obtiene en base a la reflexin de C con respecto a su origen y un desplazamiento x

Original

EE vertical 11

EE cuadrado lado=11
13

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

La figura a trazos muestra la imagen original. La lnea continua muestra los lmites para que la interseccin de A y ^C no sea 0 Todos los puntos dentro de este lmite forman la dilatacin de A por C En el caso inferior se usa un EE para obtener mas dilatacin vertical que horizontal
14

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Propiedades:
Aade todos los puntos del fondo que tocan el borde de un objeto la dilatacin es extensiva Rellena entrantes en los que no quepa el EE (pequeos agujeros y bahas)

EE cuadrado
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

15

Qu ventaja tiene sobre un filtro paso bajo?


Dilatacin: El resultado es una imagen binaria FPB: El resultado es una imagen de niveles de gris y se requiere un paso aadido de umbralizacin para conseguir una imagen binaria Dilatacin de A usando el EE B A

Los segmentos rotos se han unido

EE

Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

16

Ejemplo
Imagen original Imagen binarizada y complementada Ac Dilatacin de Ac por B=ones(3,3)

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

17

Erosin
Erosin de la imagen A por el EE C:
C(A) = A C = {x | Cx A}
Suponiendo que el EE contiene al origen y es simtrico: la salida de la erosin es el conjunto de puntos barridos por el centro del EE mientras se cumpla que todos los puntos de C estaban contenidos en A. Elimina grupos de pxeles donde el EE no cabe.
Conjunto de todos los puntos x, tales que C trasladado x, estn contenidos en A

Original

EE cuadrado lado=11

EE vertical 11
18

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

El conjunto de puntos incluidos en la zona sombreada forman la erosin de A usando EE

Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

19

Propiedades:
La erosin es antiextensiva reduce el tamao del objeto Elimina elementos en los que no quepa el EE (pequeas islas y protuberancias) Es la erosin inversa de la dilatacin? No, pero estn relacionadas (A C) c = (Ac )

EE: cuadrado
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

20

Una de las aplicaciones ms tpicas de la erosin es la eliminacin de detalles irrelevantes (desde el punto de vista de tamao)
erosin dilatacin

En esta figura se desea obtener solo los objetos de mayor tamao Para ello erosionamos con un EE de tamao algo menor que el objeto que queremos extraer. El resultado son los objetos en cuestin pero de menor tamao. Para que recuperen el tamao original se aplica una dilatacin con el mismo EE
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

21

Ejemplo
Erosin de Ac por B=ones(3,3) Erosin de Ac por B=ones(10,1)

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

22

Filtros morfolgicos
Apertura:
B(A) = A o B = (A B) B = B(B(A))

Se obtiene desplazando el EE B por el interior del conjunto y eliminando las zonas por las que B no pueda pasar. Ejemplo:
EE = {Crculo de dimetro 7, Vertical 11, Cuadrado lado 11} Original Crculo 7 Vertical 11 Cuadrado 11

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

23

La frontera de A oB est formada por los puntos en B que alcanzan los puntos mas lejanos de A, cuando B se desplaza dentro de los bordes de A A o B = z{ Bz | Bz A} (siendo {.} la unin de conjuntos)

Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

24

Propiedades:
Es un operador antiextensivo: B(A) A
A o B es un subconjunto de A (A o B ) o B = A o B

Algunos efectos:
Alisa contornos (redondear las esquinas donde no quepa el EE Eliminar las protuberancias donde no quepa el EE Separa objetos en puntos estrechos es un operador idempotente?
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

25

Ejemplo
Erosin de Ac por B=ones(10,1) Dilatacin del resultado por B=ones(10,1)

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

26

Cierre:
B(A) = AB = A B = (A B) B = B(B(A))
Se obtiene desplazando el EE B por el exterior del conjunto y anexionando las zonas por las que B no pueda pasar. Ejemplo:
EE = {Vertical 11, Cuadrado lado 11, Crculo de dimetro 7} Original Vertical 11 Cuadrado 11 Crculo 7

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

27

Representacin geomtrica similar al caso del operador apertura con la diferencia de que ahora los desplazamientos de B se producen por fuera de al frontera de A

Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

28

Propiedades:
Es un operador extensivo: A B(A) A es un subconjunto de AB (A B) B = A B

Algunos efectos :
Tiende a alisar porciones del contorno, fusiona estrechas grietas, y rellena vacos en el contorno Rellena agujeros pequeos Eliminar los entrantes pequeos Conecta objetos vecinos Es un operador idempotente

Apertura y Cierre son Duales


(A B) = (A
c c
o

B)
29

con respecto al complementario y a la transposicin


Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Apertura vs cierre
Apertura: Eliminacin del puente su anchura es inferior a la del EE El EE no puede ser completamente incluido en A Lo mismo pasa con los dos salientes de la derecha Las esquinas exteriores son redondeadas mientras que las interiores no se ven afectadas Cierre: En este caso las esquinas internas son redondeadas mientas que las externas permanecen intactas
Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

30

Ejemplo
Dilatacin de Ac por B=ones(3,3) Erosin del resultado por B=ones(3,3)

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

31

Banco de filtros morfolgicos binarios

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

32

Ejemplo: distinguir entre crculos y lneas


Apertura con EE circular de D=7

Etiquetado

70 60

N. pixel/objeto

50 40 30 20 10 0

10

15

20

25

30

objeto
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

33

Ejemplo: contar el nmero de segmentos rectos


Etiquetado
N lneas?

EE H

EE V

EE Di

EE De

= 17
34

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Implementacin
Matlab: SE=strel(forma,parametros) % crea un elemento estructurante de una forma determinada o un array de elementos estructurantes; SE=strel(matriz binaria) % para formarlo directamente con una matriz binaria SE=reflect(SE) % refleja el elemento estructurante respecto a su centro SE=translate(SE,V) % traslada el elemento estructurante segn el vector V J = imdilate(I,SE) % la imagen I puede ser binaria o en gris J = imerode(I,SE) % la imagen I puede ser binaria o en gris J = imclose(I,SE) % SE no puede ser un array de elementos estructurantes J = imopen(I,SE) % SE no puede ser un array de elementos estructurantes

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

35

Ejemplo: eliminacin de ruido

Imagen A

Filtro f(A,B)

Imagen A

f ( A, B) = (A B) B
(elimina demasiada informacin)

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

36

Ejemplo: eliminacin de ruido (informacin a priori)


f ( A, B' ) = ((A B' ) B' ) A
(el elemento estructurante B es 15x7)

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

37

Transformada Hit-Miss: (para localizar una forma X en la imagen)


se define una ventana que contenga al objeto: W / X W se define el complemento de X respecto a W: W-X La operacin Hit-Miss se define como: A W = (A X) (AC [W-X]) el primer conjunto (Hit) se queda con los objetos que incluyen a X (mayores que X) el segundo conjunto (Miss) se queda con los incluidos en X (menores que X) Matlab: J = bwhitmiss(I,SE1,SE2); % SE1 =X, SE2=W-X Equivale a J=imerode(I,SE1) & imerode (~I,SE2)
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

38

Transformada Hit-Miss (ejemplo):


Imagen

Patrn

Imagen

Patrn

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

39

Algoritmos morfolgicos
Extraccin de contorno: (A) = A - (AB)
B es un elemento estructurante adecuado a la aplicacin Matlab: [J]=bwperim(I,[conectividad]);

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

40

Debido al espesor del EE, el borde tiene un espesor de 1 pxel Si se usara un EE de 5x5 tendra un espesor de 2 pxeles
Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

41

Tres tipos de gradientes:


bordes exteriores: B(A) - A bordes interiores: A - B(A) bordes anchos: B(A) - B(A)

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

42

Algoritmos morfolgicos
Llenado de regiones: se parte de un conjunto A de puntos 8-conectados que encierran
una regin que se desea rellenar se asigna el valor 1 a un punto p interior al contorno A (X0 = p) se realiza la dilatacin condicional dada por la frmula siguiente con un elemento estructurante 3x3 de conectividad-4 (cruz):
X k = (X k 1 B) A c

el algoritmo termina cuando Xk = Xk+1 el conjunto final es Xk U A Matlab: [J, puntos]= imfill(I,[puntos],[conectividad],[holes]); % se puede hacer interactivo
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

43

Ejemplo:
Dilatacin condicional
Xk = (Xk-1 B) AC k=1,2,
A B X0
Este proceso rellenara toda el rea, por lo que se aplica la condicin de c interseccin con A

Si Xn = Xn-1 Y = Xn A (y fin del proceso)


Se empieza a partir de un punto dentro de la regin

X1

X2

X3

X4
44

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Algoritmos morfolgicos
Extraccin de componentes conectadas: existe un subconjunto Y de puntos conectados incluido en A
se conoce un punto p = 1 interior a Y (X0 = p) se realiza la dilatacin condicional dada por la frmula siguiente con un elemento estructurante 3x3 de conectividad-8 (bloque):
X k = (X k 1 B) A

el algoritmo termina cuando Xk = Xk-1 el conjunto final es Xk = Y Matlab:[L,n] = bwlabel(I, [conectividad]); % L contiene una etiqueta para cada objeto conectado, n es el n de objetos conectados
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

45

Ejemplo:
Dilatacin condicional
Xk = (Xk-1 B) A k=1,2,
A B
Expresin similar al caso anterior excepto que aqu usamos A La condicin de interseccin con A elimina la dilatacin centrada en un pxel de valor 0

X0

Si Xn=Xn-1 Y=Xn (y fin del proceso)

X1 X2 X3 X4

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

46

Algoritmos morfolgicos
Esqueleto:
Dada una imagen A, se dice que z pertenece al esqueleto de A si y solo s: Si (D)z es el disco ms

grande centrado en z y contenido en A, no existe ningn otro disco ms grande conteniendo a (D)z e incluido en A.
(en tal caso, (D)z se denomina disco mximo).

(D)z toca la frontera de A en, al menos, dos puntos.


Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

47

Determinacin del esqueleto:


S(A) = k=1K Sk(A) Sk(A) = (Ak B) (Ak B) B
donde
k indica k sucesivas erosiones ((AB)B))B K es la ltima iteracin antes de que A se erosione a un conjunto vaco

Puede demostrarse que es una operacin invertible:


A = k=1K (Sk(A) B) Matlab:[J] = bwmorph(I, [skel],[N]); % N es el numero de iteraciones % N=Inf ==> hasta que la imagen no cambie (N=K)
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

48

Algoritmos morfolgicos
Thinning: operacin parecida a skeleton
{B} = {B1 , B 2 , B 3 ,
A B = A (A * B) = A (A * B) c (utilizando la transformada hit - miss) Normalmente : thinning con una secuencia de elementos estructurantes rotados : B n A {B} = (( (( A B1 ) B 2 ) ) B n

El algoritmo morfolgico tiene una alternativa ms sencilla:


se define la vecindad del punto candidato a ser eliminado ( p1 ) : p3 p se define Z 0( p1 ) como las transiciones fondo - objeto; 4 se define NZ( p1 ) como los vecinos no nulos de p1 ; entonces se anula p1 si :
p5 p2 p1 p6 p9 p8 p7

[2 NZ( p1 ) 6] [Z 0( p1 ) = 1] [( p2 p4 p8 = 0) (Z 0( p2 ) 1)] [( p2 p4 p6 = 0) (Z 0( p4 ) 1)]


El procedimiento se repite hasta que no hay ms cambios.

Matlab:[J] = bwmorph(I, [thin ],[N]); % N es el numero de iteraciones % N=Inf ==> hasta que la imagen no cambie
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

49

Algoritmos morfolgicos
Thickening: operacin dual de thinning
AB = A (A * B) (utilizando la transformada hit - miss)

{B} = {B1, B2 , B3 ,

Normalmente : thickening con una secuencia de elementos estructurantes rotados : B n } A{B} = (( (( AB1 )B 2 ) )B n

Alternativa: aplicar thinning sobre Ac y complementar el resultado. Ventaja: el thinning del fondo limita al thickening. Matlab:J = bwmorph(I, [thicken],N); % N es el numero de iteraciones % O tambin: J=~(bwmorph(~I,thin, [N]));

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

50

Ejemplo
c

A A A A
c

Adelgazar Complementario Eliminacin de discontinuidades

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

51

Ejemplos de esqueletizacin, adelgazamiento y engorde


skeleton original thinning thickening

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

52

Algoritmos morfolgicos: Cubierta convexa


Convexidad:
sus puntos

A es convexo si contiene cualquier lnea recta uniendo dos de


Es el menor conjunto convexo, H, que contiene a S. (Equivalente a rodear S con una goma elstica) Se define por: H-S Componentes: Imagen: A
tiles en descripcin de objetos

Cubierta convexa (convex hull) de S: Deficiencia convexa de S Cubrimiento convexo


Elementos estructurantes: Bi , i= 1,2,3,4 Inicializacin: X0, punto frontera
Bi-1 es una rotacin de Bi de 90o en el sentido horario

B1

B2

B3

B4
53

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Algoritmo:
Aplicacin iterativa del algoritmo hit-miss a A con B1; cuando no se producen mas cambios se aplica la unin con A y se denomina al resultado D1. Se continua con B2, B3 y B4 obteniendo D2, D3 y D4 la unin de Di Convex Hull Formalmente: Xki = (Xk-1i B) A k=1,2,3, . Con x0i = A Di = limk Xki donde lim indica detencin cuando xki = xk-1 i H = D1 D2 D3 D4

No garantiza que H sea la cubierta convexa. El resultado puede ser mayor que las dimensiones mnimas que garanticen la convexidad
Una simple aproximacin es limitar el resultado por las componentes verticales y horizontales del conjunto original de puntos
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

54

Ejemplo

Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

55

Algoritmos morfolgicos Poda (Pruning)


Los algoritmos de poda persiguen eliminar componentes espreas resultantes de aplicar operaciones morfolgicas de tipo adelgazamiento o esqueletizacin. En general, requieren alguna informacin a priori acerca del tipo de imagen a tratar. Usada en el reconocimiento automtico de caracteres escritos a mano 4 pasos:
Adelgazamiento (para eliminacin de zonas espreas usando EE especficos para detectar puntos de inflexin) Recuperacin (de la forma original): Dilatacin (con un EE de 3x3 unos): Poda:
X3 = (X2 H)A X4 = X1 X3 X2 = k=1 (X1B )
8

X1 = A {B}

Matlab:J = bwmorph(I, [spur]);


56

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Morfologa de grises
La morfologa de grises (mas de 2 niveles) Tipos de elementos estructurantes: Morfologa Plana:
Si se utiliza un elemento estructurante plano (mismo valor en todos sus elementos: 1 0). considera una dimensin ms que las imgenes binarias, la altura (representada por la intensidad de cada pxel).

Morfologa No Plana:
Si los valores del EE son distintos
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

57

Morfologa Plana:
Se examinan los pxeles de la imagen que estn debajo de los elementos a 1 en la mscara (EE) Se ordenan los niveles de gris de los pxeles y se toma:
El mximo valor: para la dilatacin (supremos locales) (f b) (s,t) = max {f(s-x,t-y) + b(x,y) / (s-x, t-y) Df ; (x,y) Db}
Anlogo al caso de imgenes binarias en las que los dos conjuntos A y EE tenan que solaparse al menos en un punto

El mnimo valor: para la erosin (nfimos locales) (f b) (s,t) = min {f(s+x,t+y) - b(x,y) / (s+x, t+y) Df ; (x,y) Db}
El EE tiene que estar completamente contenido en el conjunto que esta siendo erosionado

Similares al operador convolucin, cambiando Max (min) por el Sumatorio y la suma (resta) por el producto c c Son Duales (f b) = (f ^b) (s,t) con fc = - f (x,y) y ^b = b (-x,-y)
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

58

Dilatacin
Si los valores del EE son positivos, la imagen resultante tiende a ser mas brillante que la imagen de entrada Los detalles oscuros son reducidos o eliminados, dependiendo de sus valores y forma con respecto al EE
Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

59

Erosin
Si EE es positivo, la imagen resultante tiende a ser oscura Se reduce el efecto de los detalles brillantes que son mas pequeos que el EE, siendo el grado de reduccin dependiente de los niveles de gris que rodean al detalle y los valores y forma del EE

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

60

Ejemplo: Original

Dilatacin

Imagen de niveles de gris 512 x 512 EE = 5 x 5 , plano

Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Erosin
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

61

Apertura y cierre:
La apertura y cierre simplifican las imgenes (equivalen a un filtro paso bajo no lineal), tanto en imgenes binarias como de grises. Apertura/cierre eliminan picos positivos/negativos ms estrechos que el elemento estructurante.

La apertura/cierre son duales

Apertura (Opening)

Cierre (Closing)

Erosin seguida de una dilatacin

Dilatacin seguida de una erosin

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

62

Apertura con EE plano


Elimina picos ms estrechos que el EE
EE = 5 Erosin Dilatacin (erosin) Apertura Residuo
0 20 40 60 80

Cierre con EE plano


Elimina valles ms estrechos que el EE
EE = 3 Dilatacin Erosin (dilatacin) Cierre Residuo
0 20 40 60 80

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

63

Apertura / Cierre
Original
Apertura Tamao reducido de los detalles brillantes No se aprecia ningn efecto sobre los niveles oscuros

Imagen de niveles de gris 512 x 512 EE = 5 x 5 , plano

Cierre Reduccin de los detalles pequeos u oscuros Pequeo efecto sobre los detalles brillantes
Figuras tomadas de Gonzalez, Woods, Digital Image Processing (2nd Ed.), Prentice Hall, 2002

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

64

Ejemplos:

Elemento estructurante plano (crculo 5)

Original

Erosin

Apertura

Dilatacin

Cierre
65

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

filtros morfolgicos: top-hat


Top-Hat: Resalta objetos de color contrario al fondo
Positivo (white top-hat): Negativo (black top-hat o bottom-hat):

AA B
ABA

Matlab:J = imtophat(I,SE); % O J=bwmorph(I,tophat,[N]) % La ltima no permite elegir el SE Matlab:J = imbothat(I,SE); % O J=bwmorph(I,bothat,[N]) % La ltima no permite elegir el SE

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

66

Top-Hat: ejemplo (morfologa en grises).

Closing (disco radio 5)

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

67

Aplicaciones
Extraccin de los dedos de una mano Separar llaves de monedas Contar el nmero de clulas Contar el nmero de dientes de una rueda

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

68

Aplicaciones

Extraccin de los dedos de una mano

Original

Umbral 108

Erosin C5

Apertura con C31

Umbral - apertura
69

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Etiquetado

Apertura V9

Apertura H7

Etiquetado 5 dedos

Superposicin de los dedos segmentados en la mano


70

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Aplicaciones

Contar nmero de llaves y monedas

Original

Erosin C5

Umbral 190

Etiquetado I

Seg bin I eliminar objeto ms grande(fondo)

Dilatacin C5
71

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Segmentar por nivel de gris 6 llaves

6 llaves 6 monedas

Negativo 190

Etiquetado 12 objetos
72

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Aplicaciones

Contar el nmero de clulas

Original

apertura-cierre (C5)

umbral 128

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

73

Erosin C5

Erosin C5

Erosin C5

Erosin C5

Etiquetado 16 clulas
74

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

Aplicaciones

Contar el nmero de dientes de una rueda

Original

Cierre C11

Diferencia

Apertura C3

Dilatacin C9

Apertura C19

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

75

Mnimo Apertura (C3, C19)

Segmentacin binaria 120 muescas

Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

76

Bibliografa
Bsica:
Digital Image Processing, Rafael C. Gonzlez, Ed.
Prentice Hall, 2nd edition.

Complementaria:
Fundamentals of Digital Image Processing, Anil K.
Jain, Ed. Prentice Hall, 1989.

The image processing handbook, John C. Russ,

2nd ed, CRC Press , cop. 1995 Digital Image Processing, William K. Pratt, 2nd ed, John Wiley & Sons, 1991.
Jos Luis Alba, Fernando Martn - Universidad de Vigo; Jess Cid - Universidad Carlos III; Inmaculada Mora - Universidad Rey Juan Carlos

77

S-ar putea să vă placă și