Sunteți pe pagina 1din 26

Procesamiento digital de imágenes basado en

morfologı́a matemática
Definiciones
◮ Imagen binaria: aquella en la que sus pı́xeles asumen uno de sólo
dos posibles valores lógicos discretos: 1 ó 0.
◮ De forma general, los pı́xeles que tiene un valor lógico 1 reciben el
nombre de pı́xeles objeto (foreground pixels).
◮ Los pı́xeles que tiene un valor lógico 0 reciben el nombre de pı́xeles
de fondo (background pixels).
◮ un objeto en una imagen binaria consiste es cualquier grupo de
pı́xeles conectados.

Figura 1: Ejemplos de 4 y 8-conectividad. Fuente:


https://sites.ualberta.ca/~ ccwj/teaching/image/morph/
Elemento estructurante
Las entradas para implementar operaciones de morfologı́a matemática
son: la imagen procesada y el elemento estructurante (e.e.).

Figura 2: Ejemplos de elementos estructurantes.

Usualmente, el e.e. es mucho más pequeño que la imagen procesada; su


forma y tamaño son arbitrarios1 .
1 Gonzalez, R. C., & Wintz, P. (1977). Digital image processing(Book). Reading,

Mass., Addison-Wesley Publishing Co., Inc.(Applied Mathematics and Computation,


(13), 451.
Conjunción, intersección y complemento
Las operaciones morfológicas se basan en la implementación de
operaciones entre conjuntos; los conjuntos son los pı́xeles objeto/fondo
en imágenes binarias.

Figura 3: Operaciones entre conjuntos básicas, implementadas en dos imágenes


binarias A y B.
Reflexión y traslación
◮ Reflexión: de coordenadas.

B̂ = {w |x = −b, para b ∈ B} (1)


◮ Traslación: Suma de un escalar a las coordenadas del objeto B.

(B)z = {c|c = b + z, para b ∈ B} (2)

Figura 4: Rotación y reflexión de un objeto en la imagen (binaria) B.


Utilidad del elemento estructurante en la morfologı́a
matemática

Figura 5: Vecindad de pı́xeles definida por un elemento estructurante.


Erosión morfológica ⊖
imerode(I,se)

Dada una imagen A y un elemento estructurante B, se define la erosión


como sigue:

A ⊖ B = {z|(B)z ⊆ A} (3)

Figura 6: Erosión de A por el elemento estructurante B.


Erosión morfológica en detalle2

Nada

(a) Izq. Imagen; der. Elemento estruc- (b) Resultado.


turante.

Figura 7: Antes y después de aplicar la erosión morfológica.

2 https://studentportalen.uu.se/uusp-filearea-tool/download.action?nodeId=630535&toolAttachmentId=128081.
Implementación práctica de la erosión
1. Se consideran los pı́xeles objeto de la imagen analizada. Sobre cada
uno se superpone el e.e. El origen de éste último, debe coincidir con
la ubicación del pixel de bajo análisis en la imagen.
2. Si para cada pı́xel en el elemento estructurante, el pixel
correspondiente de la imagen debajo es un pixel objeto, entonces el
pı́xel de entrada se deja siendo pı́xel objeto.
3. Si alguno de los pı́xeles en la superposición del e.e sobre un pı́xel
analizado en la imagen, pertenece al fondo, a éste último se le pone
como valor, cero.

Figura 8: Versión escalada de la imagen en la Figura 6.


Dilatación
imdilate(I,se)
La dilatación de A por B se denota A ⊕ B y se define como:

A ⊕ B = {z|(B̂)z ∩ A 6= ∅} (4)

La dilatación de A por B es el conjunto de todos los desplazamientos z tales que B̂ y A se


traslapan por al menos un elemento (la intersección es no vacı́a). Para implementar:
1. Se considera cada uno de los pı́xeles de fondo en la imagen análizada. Sobre cada uno se
superpone el e.e. El origen de éste último, debe coincidir con la ubicación del pixel
analizado.

2. Si al hacer la superposición del e.e. sobre el pı́xel analizado, al menos un pı́xel coincide con
un pixel-objeto de la región de la imagen debajo, el pixel analizado se deja siendo pixel
objeto.

3. Si todos lo pı́xeles en la imagen pertenecen al fondo, la imagen de entrada se deja con el


valor de fondo.

Figura 9: Ejemplo de una dilatación morfológica.


Dilatación morfológica en detalle3

Nada

(a) Izq. Imagen; der. Elemento estruc- (b) Resultado.


turante.

Figura 10: Antes y después de aplicar la dilatación morfológica.

3 https://studentportalen.uu.se/uusp-filearea-tool/download.action?nodeId=630535&toolAttachmentId=128081.
Apertura: (A ⊖ B) ⊕ B
imopen.m
1. Abre “huecos” cerca (considerando el tamaño del elemento estructurante) de fronteras, y
remueve prequeñas protuberancias [1].
2. Aplicación: separación de objetos considerando el tamaño relativo (y forma) de un elemento
estructurante [2].
3. Elimina protusiones.
4. Rompe conecciones.
5. Suaviza contornos.

Imagen original Apertura − EE cuadrado 3x3

50 50

100 100

150 150

200 200

250 250

300 300

350 350

400 400

450 450
20 40 60 80 100 120 140 20 40 60 80 100 120 140

(a) Original. (b) Apertura.

Figura 11: (a) Imagen original y (b), apertura de la misma, con un elemento
estructurante cuadrado de 21 × 21 pı́xeles.
Apertura morfológica en detalle

(a) Izquierda: erosión; derecha: aper- (b) Resultado.


tura (dilatación después de la erosión).

Figura 12: Antes y después de aplicar la apertura morfológica.

En general, la apertura morfológica:


Cierre: (A ⊕ B) ⊖ B
imclose.m
◮ Tiende a remover pı́xeles objeto de los bordes en regiones objeto.
◮ En términos generales es menos destructivo que una erosión morfológica [3].
◮ Suaviza contornos.
◮ Fusiona regiones no conexas de poca anchura.
◮ Eliminia “vacı́os” pequeños y tiende a cerrar aquellos en el contorno.

50 50

100 100

150 150

200 200

250 250

300 300

350 350

400 400

450 450
20 40 60 80 100 120 140 20 40 60 80 100 120 140

(a) (b)

Figura 13: (a) Imagen original y (b), cierre de esta, con elemento estructurante
cuadrado de 21 × 21 pı́xeles.
Cierre morfológico en detalle4

(a) Izq. dilatación. (b) Resultado: erosión después de la di-


latación.

Figura 14: Antes y después de aplicar el cierre morfológico.

4 https://studentportalen.uu.se/uusp-filearea-tool/download.action?nodeId=630535&toolAttachmentId=128081.
Transformada hit-or-miss

Se obtiene como sigue:


1. Trasladando el origen del e.e. a todos los puntos de la imagen.
2. Comparando el e.e. con los pı́xeles “debajo” en la imagen.
3. Si los pı́xeles objeto y fondo del e.e. y los de “debajo”, coinciden exactamente, el pı́xel
analizado en la imagen, se deja como siendo de tipo objeto.

4. En caso contrario, el pı́xel se deja siendo de tipo fondo.


Extracción de contornos

Se obtiene mediante la ecuación presentada debajo, donde A es la


imagen analizada y B es el elemento estructurante.

E = (A ⊕ B) − (A ⊖ B) (5)
Thinning

Objetivo: remover pı́xeles objeto seleccionados en una imagen binaria.


Usualmente, el thinning se utiliza para hacer que las lı́neas que se
obtienen tras una detección de bordes, tengan un pı́xel de grosor.

Funcionamiento:

THIN(A, B) = A − HIT-OR-MISS(I , A) (6)


donde el operador (–) se refiere a la substracción lógica, definida para dos
imágenes X e Y como:

X − Y = X ∩ NOT(Y ) (7)
Thinning - implementación

◮ Aplicar el thinning de forma iterativa hasta que haya convergencia.


◮ El efecto depende del elemento estructurante. Un conjunto posible
se muestra en la Figura.

Figura 15: Dos máscaras para implementar el thinning morfológico.


Tomado de https://homepages.inf.ed.ac.uk/rbf/HIPR2/thin.htm
Llenado de regiones
bwmorph(I,se,’fill’)
◮ Llena una región A, dada su contorno β(A).
◮ Se requiere determinar un pı́xel x = X0 conocido y que esté dentro de β(A).
◮ Se implementa la iteración:

Xk = (Xk−1 ⊕ B) ∩ AC , k = 1, 2, 3, · · · (8)
la cual se repite hasta que Xk = Xk−1 .
◮ una vez terminada la iteración, la región final se halla mediante: A ∪ Xk .

Figura 16: Ejemplo tomado del documento: Vladimir Curic’s Lecture


Mathematical morphology - Uppsala University
Ejemplo: extracción de caracterı́sticas (I)

(a) (b)

Figura 17: (a) Letra E: versión binaria. Esqueleto de la letra obtenido mediante
la función bwmorph.m.
Ejemplo: extracción de caracterı́sticas (II)

(a) (b)

Figura 18: (a) Esqueleto morfológico de la letra. Caracterización basada en la


función bwmorph.m.
Ejemplo: extracción de caracterı́sticas (III)

(a) (b)

Figura 19: (a) Esqueleto morfológico de la letra. Caracterización basada en la


función bwmorph.m.
Representación en espacio de caracterı́sticas
group = {’E’;’A’};
BD = [6 8;6 6];
figure,gscatter(BD(:,1),BD(:,2),group),grid on;
xlabel(’Número de branchpoints’);ylabel(’Número de endpoints’);

9
E
A
8

7
Número de endpoints

0
0 1 2 3 4 5 6 7 8
Número de branchpoints

Figura 20: Diagrama de dispersión para las dos muestras caracterizadas


anteriormente.
Ejercicios adicionales

1. Piense en el número posible de esquinas que pueden detectarse en una imagen binaria.
Diseñe elementos estructurantes para hallar, vı́a transformada hit-or-miss, tales esquinas.

2. Consulte sobre cómo utilizar las funciones strel.m y getnhood.m de Matlab, para diseñar y
ver como matrices, elementos estructurantes de formas variadas.

3. Considere la imagen Alphabet.jpg. Utilice las funciones de morfologı́a matemática de


Matlab, para dejar en negro en fondo de la imagen. Luego, proponga una estrategia para
segmentar cada letra, caracterizarla según el ejemplo en clase, y representar cada letra como
un punto en el espacio de caracterı́sticas dado por Número de branchpoints y Número de
endpoints.
La imagen del alfabeto debe quedar como una matriz de 26 × 2, donde 26 es el número de
letras y 2 es el número de caracterı́sticas. Evalúe luego la posibilidad de incluir nuevas
caracterı́sticas.
¿Objetivo de este ejercicio? evaluar la capacidad de utilizar la caracterización basada en
morfologı́a matemática para todas las letras del alfabeto.
Referencias

Haralick, R. M., Sternberg, S. R., & Zhuang, X. (1987). Image analysis using mathematical
morphology. Pattern Analysis and Machine Intelligence, IEEE Transactions on, (4), 532-550.

Solomon, C.J. & Breckon, T.P. (2010) Fundamentals of Digital Image Processing: A Practical
Approach with Examples in Matlab, Wiley-Blackwell.

Eddins, S. L., Gonzalez, R. C., & Woods, R. E. (2004). Digital image processing using Matlab.
Princeton Hall Pearson Education Inc., New Jersey.

[1] Fuente: http://www.cs.uu.nl/docs/vakken/ibv/reader/chapter6.pdf

[2] Fuente:Tomado de Internet en el vı́nculo:

[3] Fuente:Tomado de Internet en el vı́nculo:

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