Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del...

36
1 Procesamiento Digital de Imágenes Pablo Roncagliolo B. Nº 12 prb@2007 Imágenes: Gonzalez&Wood 2 Operaciones Morfológicas Conceptos y algoritmos relevantes: Operaciones lógicas Dilatación Erosión Open (erosión+dilatación) Close (dilatación+erosión) Bordes utilizando op. Morfológicas Fill Hole (Relleno de regiones) Esqueleto de objetos Etiquetado

Transcript of Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del...

Page 1: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

1

Procesamiento Digital de Imágenes

Pablo Roncagliolo B.

Nº 12

prb@2007 Imágenes: Gonzalez&Wood 2

Operaciones Morfológicas

� Conceptos y algoritmos relevantes:

� Operaciones lógicas

� Dilatación

� Erosión

� Open (erosión+dilatación)

� Close (dilatación+erosión)

� Bordes utilizando op. Morfológicas

� Fill Hole (Relleno de regiones)

� Esqueleto de objetos

� Etiquetado

Page 2: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

2

prb@2007 Imágenes: Gonzalez&Wood 3

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 4

Operaciones Morfológicas

Page 3: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

3

prb@2007 Imágenes: Gonzalez&Wood 5

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 6

Operaciones Morfológicas

Page 4: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

4

prb@2007 Imágenes: Gonzalez&Wood 7

Operaciones Morfológicas: Dilatación

BandABA )(≈⊕

% Dilatación

A2=imdilate(A,B)

Es conmutativa y asociativa

“Deja el centro, si el AND de algún elemento de B es 1”

prb@2007 Imágenes: Gonzalez&Wood 8

Operaciones Morfológicas: Dilatación

% Elementos Estructurantes

B=strel(‘diamond’,1);

Page 5: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

5

prb@2007 Imágenes: Gonzalez&Wood 9

Operaciones Morfológicas: Erosión

BorABA )(≈Θ “Deja el centro, si el OR de todo B es 1”

% Erosión

A2=imerode(A,B);

prb@2007 Imágenes: Gonzalez&Wood 10

Operaciones MorfológicasErosión+Dilatación: Open

BAo

% Open

A2=imopen(A,B);

Page 6: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

6

prb@2007 Imágenes: Gonzalez&Wood 11

Operaciones Morfológicas: Open

prb@2007 Imágenes: Gonzalez&Wood 12

Operaciones Morfológicas:Dilatación+Erosión: Close

BA•

% Close

A2=imclose(A,B);

Page 7: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

7

prb@2007 Imágenes: Gonzalez&Wood 13

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 14

Operaciones Morfológicas

Page 8: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

8

prb@2007 Imágenes: Gonzalez&Wood 15

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 16

Operaciones Morfológicas:

Bordes mediante erosión:

Page 9: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

9

prb@2007 Imágenes: Gonzalez&Wood 17

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 18

Ej. Erosión:

El elemento estructurante debe estar contenido El elemento estructurante debe estar contenido

completamente.completamente.

Operaciones Morfológicas

Page 10: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

10

prb@2007 Imágenes: Gonzalez&Wood 19

Ej. Erosión

prb@2007 Imágenes: Gonzalez&Wood 20

Ej. Erosiónfunctionfunction B=B=erosionerosion(A)(A)

[H W Z]=[H W Z]=sizesize(A);(A);

B=B=zeroszeros(H,W);(H,W);

K=[1 1 1; K=[1 1 1;

1 1 1;1 1 1;

1 1 1];1 1 1];

forfor f=(1+1):(Hf=(1+1):(H--1)1)

forfor c=(1+1):(Wc=(1+1):(W--1)1)

suma=0;suma=0;

for fffor ff==--1:11:1

forfor cc=cc=--1:11:1

suma=suma+K(suma=suma+K(ffff+2,cc+2)*A(f++2,cc+2)*A(f+ffff,c+cc)/255;,c+cc)/255;

endend;;

endend;;

ifif suma==suma==sumsum((sumsum(K))(K))

B(f,c)=255;B(f,c)=255;

elseelse

B(f,c)=0;B(f,c)=0;

endend;;

endend;;

endend;;

Page 11: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

11

prb@2007 Imágenes: Gonzalez&Wood 21

Dilatación:

El centro del elemento estructurante Y debe estar contenido en El centro del elemento estructurante Y debe estar contenido en

la imagen X.la imagen X.

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 22

Ej. Dilatación

Page 12: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

12

prb@2007 Imágenes: Gonzalez&Wood 23

Ej. Dilatación

functionfunction B=B=dilataciondilatacion(A)(A)

[H W Z]=[H W Z]=sizesize(A);(A);

B=B=zeroszeros(H,W);(H,W);

K=[1 1 1; K=[1 1 1;

1 1 1;1 1 1;

1 1 1];1 1 1];

forfor f=(1+1):(Hf=(1+1):(H--1)1)

forfor c=(1+1):(Wc=(1+1):(W--1)1)

suma=0;suma=0;

for fffor ff==--1:11:1

forfor cc=cc=--1:11:1

suma=suma+K(suma=suma+K(ffff+2,cc+2)*A(f++2,cc+2)*A(f+ffff,c+cc)/255;,c+cc)/255;

endend;;

endend;;

ifif suma>=1suma>=1

B(f,c)=255;B(f,c)=255;

elseelse

B(f,c)=0;B(f,c)=0;

endend;;

endend;;

endend;;

prb@2007 Imágenes: Gonzalez&Wood 24

Ej. Apertura Morfológica: erosión+dilatación

La apertura permite “recuperar” los elementos “mayores”, La apertura permite “recuperar” los elementos “mayores”,

redondeando sus contornos.redondeando sus contornos.

Operaciones Morfológicas

Page 13: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

13

prb@2007 Imágenes: Gonzalez&Wood 25

Ej. Cierre Morfológico: dilatación+erosión

Permite “unir” elementos cercanos.Permite “unir” elementos cercanos.

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 26

Ej. Apertura y Cierre

Page 14: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

14

prb@2007 Imágenes: Gonzalez&Wood 27

Operaciones Morfológicas: “Fill Hole”

prb@2007 Imágenes: Gonzalez&Wood 28

Operaciones Morfológicas

Page 15: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

15

prb@2007 Imágenes: Gonzalez&Wood 29

Operaciones Morfológicas:

Componentes conectados

prb@2007 Imágenes: Gonzalez&Wood 30

Operaciones Morfológicas

Page 16: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

16

prb@2007 Imágenes: Gonzalez&Wood 31

Operaciones Morfológicas

Transformación Hit-or-Miss:

prb@2007 Imágenes: Gonzalez&Wood 32

Operaciones Morfológicas

“Envoltura convexa” (convex hull): Conjunto de píxeles

(polígono) convexos que contienen a un objeto

binarizado.

Page 17: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

17

prb@2007 Imágenes: Gonzalez&Wood 33

Operaciones Morfológicas

Ejemplo: “Envoltura convexa”

prb@2007 Imágenes: Gonzalez&Wood 34

Operaciones Morfológicas

Resultado final, limitando a las dimensiones máximas

del objeto inicial.

Page 18: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

18

prb@2007 Imágenes: Gonzalez&Wood 35

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 36

Operaciones Morfológicas

Page 19: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

19

prb@2007 Imágenes: Gonzalez&Wood 37

Un esqueleto intenta representar la forma de un objeto Un esqueleto intenta representar la forma de un objeto

con un número relativamente pequeño de píxeles. De con un número relativamente pequeño de píxeles. De

esta forma, todos los píxeles del esqueleto son esta forma, todos los píxeles del esqueleto son

estructuralmente necesarios.estructuralmente necesarios.

La posición, orientación y longitud de las líneas del La posición, orientación y longitud de las líneas del

esqueleto se corresponden con aquellas equivalentes de esqueleto se corresponden con aquellas equivalentes de

la imagen original. La tarea de sacar características de la imagen original. La tarea de sacar características de

una imagen queda simplificada al obtener su esqueleto.una imagen queda simplificada al obtener su esqueleto.

Operaciones Morfológicas: Esqueleto

prb@2007 Imágenes: Gonzalez&Wood 38

Transformación de eje central Transformación de eje central

(MAT, Medial (MAT, Medial Axis TransformAxis Transform))

Se denomina eje central (medial Se denomina eje central (medial axisaxis) al esqueleto. La ) al esqueleto. La

forma de obtener el eje central es calcular, para cada forma de obtener el eje central es calcular, para cada

píxel, la distancia más corta hasta el borde del objeto. Si píxel, la distancia más corta hasta el borde del objeto. Si

el píxel tiene más de una distancia mínima es que forma el píxel tiene más de una distancia mínima es que forma

parte del eje central.parte del eje central.

Operaciones Morfológicas: Esqueleto

Page 20: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

20

prb@2007 Imágenes: Gonzalez&Wood 39

Operaciones Morfológicas: Esqueleto

prb@2007 Imágenes: Gonzalez&Wood 40

Operaciones Morfológicas: Esqueleto

Page 21: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

21

prb@2007 Imágenes: Gonzalez&Wood 41

Algoritmo

Básico

A1=A1=erosionerosion(A);(A);

Borde=ABorde=A--A1;A1;

forfor f=1:Hf=1:H

forfor c=1:Wc=1:W

ifif A(f,c)>0A(f,c)>0

n=0;n=0;

minmin=H*W;=H*W;

for fffor ff=1:H=1:H

forfor cc=1:Wcc=1:W

ifif Borde(Borde(ffff,cc)>0,cc)>0

d=(fd=(f--ffff)^2 + (c)^2 + (c--cc)^2;cc)^2;

ifif d==d==minmin, , n=n+1; n=n+1; endend;;

ifif d<d<minmin,, minmin=d; n=1; =d; n=1; endend;;

endend;;

endend;;

endend;;

ifif n>1n>1,, B(f,c)=255; B(f,c)=255; endend;;

endend;;

endend;;

endend;;

If abs(d-min)<delta ...

delta puede ser 1, 2 o más, lo que

permite mayor flexibilidad en la

búsqueda del eje central, sobre todo

para objetos con anchos o altos

“pares”

Operaciones Morfológicas: Esqueleto

prb@2007 Imágenes: Gonzalez&Wood 42

Operaciones Morfológicas

Page 22: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

22

prb@2007 Imágenes: Gonzalez&Wood 43

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 44

Operaciones Morfológicas

Page 23: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

23

prb@2007 Imágenes: Gonzalez&Wood 45

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 46

Operaciones Morfológicas

Page 24: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

24

prb@2007 Imágenes: Gonzalez&Wood 47

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 48

Operaciones Morfológicas

Page 25: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

25

prb@2007 Imágenes: Gonzalez&Wood 49

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 50

Operaciones Morfológicas

Page 26: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

26

prb@2007 Imágenes: Gonzalez&Wood 51

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 52

Operaciones Morfológicas

Page 27: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

27

prb@2007 Imágenes: Gonzalez&Wood 53

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 54

Operaciones Morfológicas

Page 28: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

28

prb@2007 Imágenes: Gonzalez&Wood 55

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 56

Operaciones Morfológicas

Page 29: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

29

prb@2007 Imágenes: Gonzalez&Wood 57

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 58

Operaciones Morfológicas

Page 30: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

30

prb@2007 Imágenes: Gonzalez&Wood 59

Operaciones Morfológicas

prb@2007 Imágenes: Gonzalez&Wood 60

Extracción de Regiones y Etiquetado

Selección de umbrales óptimos en el histograma

Generalmente la extracción de regiones y su etiquetado se

realizan sobre imágenes previamente binarizadas

Page 31: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

31

prb@2007 Imágenes: Gonzalez&Wood 61

Binarización según histograma

[nf nc]=size(A);

HISTOGRAMA=zeros(1,256);

for f=1:nf

for c=1:nc

HISTOGRAMA(A(f,c)+1)= HISTOGRAMA(A(f,c)+1)+1;

end;

end;

Es posible automatizar la

detección del umbral de

binarización, “filtrando” el

histograma (p. ej.

promedio móvil), y

detectando el primer

mínimo local desde el

promedio del fondo de la

imagen.

Extracción de Regiones y Etiquetado

prb@2007 Imágenes: Gonzalez&Wood 62

Etiquetado

Después de binarizar se puede ejecutar alguno de los

algoritmos de etiquetado.

Un Algoritmo muy utilizado es el siguiente:

1 2

3

45

6

7

8 9

10

1112

1 2

3

45

6

7

8 9

10

1112

• Marcar todos los píxel distintos del

fondo con etiquetas diferentes

(números)

• Iterando desde la esquina superior

izq., asignar a cada píxel la menor

etiqueta presente en la vecindad

(tipo 6)

• Repetir proceso pero iterando desde

la esquina inferior der.

Extracción de Regiones y Etiquetado

Page 32: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

32

prb@2007 Imágenes: Gonzalez&Wood 63

E=zeros(nf,nc);

for f=1:nf

for c=2:nc

if Ab(f,c)==1

E(f,c)=ETIQUETA;

ETIQUETA=ETIQUETA+1;

else

E(f,c)=0;

end;

end;

end;

//luego propagar las etiquetas menores vecinas....

Extracción de Regiones y Etiquetado

prb@2007 Imágenes: Gonzalez&Wood 64

Se entiende por vecindad tipo 6:

111

11

11

1111

11

111

11

11

1111

11

Cuando se realiza

iteración desde arriba

hacia abajo

Cuando se realiza

iteración desde abajo

hacia arriba

Extracción de Regiones y Etiquetado

Page 33: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

33

prb@2007 Imágenes: Gonzalez&Wood 65

111

11

11

1111

11

141312

1110

98

7654

32

Etiquetado inicial.

Supone que todos los

píxel son “regiones” u

objetos independientes

Extracción de Regiones y Etiquetado

prb@2007 Imágenes: Gonzalez&Wood 66

141312

1110

98

7652

32

141312

1110

98

7622

32

141312

1110

98

7222

32

141312

1110

98

2222

32

141312

1110

92

2222

32

141312

1110

22

2222

32

Extracción de Regiones y Etiquetado

Page 34: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

34

prb@2007 Imágenes: Gonzalez&Wood 67

141312

112

22

2222

32

141312

112

22

2222

32

14132

112

22

2222

32

1422

112

22

2222

32

1122

112

22

2222

32

Este problema se

resuelve con la

segunda iteración

desde abajo hacia

arriba

Extracción de Regiones y Etiquetado

prb@2007 Imágenes: Gonzalez&Wood 68

1122

112

22

2222

22

El proceso de etiquetado abre la posibilidad de

trabajar directamente con regiones o sub-

imágenes, lo que optimiza notablemente el

análisis.

Es importante generar una estructura de datos

apropiada para referenciar los “objetos”.

Objeto 1

Objeto 2

Extracción de Regiones y Etiquetado

Page 35: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

35

prb@2007 Imágenes: Gonzalez&Wood 69

211

21

11

1111

11

Un paso opcional es renombrar las etiquetas

de los objetos encontrados.

Objeto 1

Objeto 2

Extracción de Regiones y Etiquetado

prb@2007 Imágenes: Gonzalez&Wood 70

211

21

11

1111

11

Es importante generar una estructura de datos

apropiada para referenciar los “objetos”.

Objeto 1

x1: integer;

y1: integer;

x2: integer;

y2: integer;

xp: integer;

yp: integer;

Ancho: integer;

Alto: integer;

Area: integer;

...

Centro...

Razon...

Etc...

x1: integer;

y1: integer;

x2: integer;

y2: integer;

xp: integer;

yp: integer;

Ancho: integer;

Alto: integer;

Area: integer;

...

Centro...

Razon...

Etc...

Objeto 2

Extracción de Regiones y Etiquetado

Page 36: Operaciones Morfológicas - Departamento de Electrónicaelo328/PDI12_Morfologia.pdfdetección del umbral de binarización, “filtrando” el histograma (p. ej. promedio móvil), y

36

prb@2007 Imágenes: Gonzalez&Wood 71

Muchas de los análisis básico se realizan sobre la estructura

de datos. Estas restricciones se denominan “filtros”

Type TRegion=record

x:integer;

area:integer:

...

end;

var

D:array of TRegion;

i,c: integer;

Begin

c:=0;

for i:=1 to N do begin

if (D[i].Area>5) and (D[i].Razon>0.8) then c:=c+1;

end;

end;

Ejemplo donde se cuentan los “objetos” con área mayor a 5 píxel y razón de diámetros mayor a 0.8

Extracción de Regiones y Etiquetado