Procesamiento Morfológico de imágenes
Procesamiento digital de
Imagenes
1
Binary Image Processing



Introduction
Set theory review
Morphological filtering operators
•
•
•
•
•
•

Erosion and dilation
Opening and closing
Hit-or-miss
Boundary extraction
Region-filling
Thinning (for finding skeleton)
Other processing algorithms
•
•
Area calculation, finding connected components
Skeleton finding via distance transform
Procesamiento digital de
Imagenes
2
Procesamiento Morfológico de imágenes
Imágenes Binarias
Imágenes Binarias :
Consisten de solo dos colores (tonos): Blanco y Negro
Ejemplo numerico
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
255
255
255
0
0
0
0
255
255
255
255
0
0
0
0
255
255
255
255
0
0
0
0
255
255
255
255
0
0
Procesamiento digital de
Imagenes
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
Procesamiento Morfológico de imágenes
Porque Imágenes Binarias ?
Dado que los pixeles son blancos y negros las zonas con
pixeles blancos y negros contienen toda la información
Ejemplo:
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
f(m,n)
Representación matricial
L={(3,3),(3,4),(4,3),(4,4)}
Ubicación de los píxeles blancos
Representación mediante conjuntos
Procesamiento digital de
Imagenes
4
Binary Image Processing




Introduction
Set theory review
Morphological filtering operators
• Erosion and dilation
• Opening and closing
• Hit-or-miss
• Boundary extraction
• Region-filling
• Thinning (for finding skeleton)
Other processing algorithms
• Area calculation, finding connected components
• Skeleton finding via distance transform
Procesamiento digital de
Imagenes
5
Revisión de la teoría de conjuntos
A  { w | w  A}
c
A  B  {w | w  A, w  B}  A  B
c
Pensar a los conjuntos A y B como colección de coordenadas espaciales
Procesamiento digital de
Imagenes
6
Operador Translación
( A ) z  { w | w  a  z , a  A}
Ejemplo
z  ( z1 , z 2 )
Procesamiento digital de
Imagenes
7
Operador Reflexión
Bˆ  { w | w   b , b  B }
Example
B
Procesamiento digital de
Imagenes
^
B
8
Binary Image Processing




Introduction
Set theory review
Morphological filtering operators
• Erosion and dilation
• Opening and closing
• Hit-or-miss
• Boundary extraction
• Region-filling
• Thinning (for finding skeleton)
Other processing algorithms
• Area calculation, finding connected components
• Skeleton finding via distance transform
Procesamiento digital de
Imagenes
9
Elemento Estructural
Definición: Es un conjunto de puntos con un origen dado
Ejemplos
origin
B1
B2
Nota: Un elemento estructural diferente da como resultado diferentes resultados
Procesamiento digital de
Imagenes
10
Dilación
Definición
Y  X  B  { z | ( Bˆ ) z  X   }
Reglas
1 Si el origen del elemento estructural coincide con un ‘0’ en la
imagen no hay cambio alguno y pasamos al próximo pixel.
2 Si el origen del elemento estructural coincide con un ‘1’ en la
imagen realizar la operación lógica OR sobre todos los píxeles del
elemento estructural.
Procesamiento digital de
Imagenes
11
Dilación
Definición
Y  X  B  { z | ( Bˆ ) z  X   }
Procesamiento digital de
Imagenes
12
Dilación Ejemplos
Procesamiento digital de
Imagenes
13
Dilación Ejemplos
Procesamiento digital de
Imagenes
14
Erosion
Definition
Y=X _ B  { x : B x  X }  { x : B x  X c   }
Reglas
1 Si el origen del elemento estructural coincide con un ‘0’ en la imagen no hay cambio
alguno y pasamos al próximo pixel.
2 Si el origen del elemento estructural coincide con un ‘1’ en la imagen y cualquiera
de los ‘1’ del elemento estructural se extiende mas allá del objeto (píxeles en’1’ en la
imagen) entonces se cambian el píxel en ‘1’ en la imagen a ‘0’.
Procesamiento digital de
Imagenes
15
Erosion
Example
Procesamiento digital de
Imagenes
16
Erosión Ejemplos
Procesamiento digital de
Imagenes
17
Erosión Ejemplos
La erosión elimina detalles irrelevantes
Procesamiento digital de
Imagenes
18
Erosión Ejemplos
Procesamiento digital de
Imagenes
19
Dualidad
(X _ B)c =XcB^
Demo:
(X _ B)c
={z | Bz A }c
= {z | Bz Ac = }c
= {z | Bz  Ac  }
^
=Xc B
Procesamiento digital de
Imagenes
20
Example
Xc
X
B
X
_
B
(X
_
^
B
XcB^
Procesamiento digital de
Imagenes
21
B)c
Binary Image Processing



Introduction
Set theory review
Morphological filtering operators
•
•
•
•
•
•

Erosion and dilation
Opening and closing
Hit-or-miss
Boundary extraction
Region-filling
Thinning (for finding skeleton)
Other processing algorithms
•
•
Area calculation, finding connected components
Skeleton finding via distance transform
Procesamiento digital de
Imagenes
22
Definición
X  B  (X
_ B) + B
Ejemplo
X
_
+
mask B
X B
Procesamiento digital de
Imagenes
23
Procesamiento digital de
Imagenes
24
Interpretación geométrica del operador apertura
Procesamiento digital de
Imagenes
25
Closing Operator
Definition
X  B  (X + B) _ B
Example
X
+
mask B
_
X B
Procesamiento digital de
Imagenes
26
Interpretación geométrica del operador cierre
Procesamiento digital de
Imagenes
27
Procesamiento digital de
Imagenes
28
Procesamiento digital de
Imagenes
29
Procesamiento digital de
Imagenes
30
Procesamiento digital de
Imagenes
31
Interpretación geométrica del operador apertura
Procesamiento digital de
Imagenes
32
Properties of Opening and Closing Operators*
X B X
●
Opening
● X Y  X BY B
● ( X  B)  B  X  B
X  X B
●
Closing
● X Y  X BY B
● (X  B)  B  X  B
( X  B)
C
 X
C
 Bˆ
(X  B)
C
Procesamiento digital de
Imagenes
 X
C
 Bˆ
33
Hit or Miss (A Game of Matching)
Templates
A
Procesamiento digital de
Imagenes
B
34
Hit or Miss (Un Ejemplo)
Como encontrar una coincidencia del patrón B en X
usando una computadora?
Hit: El cuadrante sur-oeste debe ser negro en X
Hit: Los otros 3 cuadrantes deben ser blancos en X
X
origen
Hit: El cuadrante sur-oeste debe ser negro en X
Hit: Los otros 3 cuadrantes deben ser negros en Xc
Patron B
Procesamiento digital de
Imagenes
35
Hit or Miss (Un Ejemplo)
Hit: El cuadrante sur-oeste debe ser negro en X
origen
Patron B
X1=X
_
B1
Hit: Los otros 3 cuadrantes deben ser negros en Xc
Patron B1
X2 =Xc _ B2
Para satisfacer ambas condiciones debemos tomar la
intersección de X1 y X2
Patron B2
Procesamiento digital de
Imagenes
36
origin
mask B1
X
1

1

  1
mask B2
mask B
X _ B1
Xc
Intersección
Procesamiento digital de
Imagenes
1
1
1
 1

1

 1 
MATLAB
Xc _ B2
X*B
37
Erosión de A por X
Procesamiento digital de
Imagenes
38
A y Ac
Procesamiento digital de
Imagenes
39
Procesamiento digital de
Imagenes
40
Procesamiento digital de
Imagenes
41
Hit
Procesamiento digital de
Imagenes
Miss
42
Procesamiento digital de
Imagenes
43
En muchos casos en lugar de escribir 2 templates es común escribir
uno solo donde se pone:
1 para los píxeles usados en el elemento estructural usado para el HIT
(B1)
0 para los píxeles usados en el elemento estructural usado para el
MISS (B2)
X Don’t Care para el resto.
Procesamiento digital de
Imagenes
44
Soporte para Matlab
Procesamiento digital de
Imagenes
45
Procesamiento digital de
Imagenes
46
Procesamiento digital de
Imagenes
47
Procesamiento digital de
Imagenes
48
P
X
Idea: recursively expand the region around P but stop
the expansion at the boundary of X
Iterations:
expansion
stop at the boundary
Y0=P
mask B
Yk=(Yk-1B)Xc, k=1,2,3…
Why dilation?
Why intersection with Xc?
Terminate when Yk=Yk-1,output YkX
Procesamiento digital de
Imagenes
49
P
X
Y1B
Y0
Y0B
Y2
Y2B
Xc
Procesamiento digital de
Imagenes
Y1
Y3=Y2
50
Procesamiento digital de
Imagenes
51
Procesamiento digital de
Imagenes
52
Procesamiento digital de
Imagenes
53
BW1 = logical([1 0 0 0 0 0 0 0
11111000
10001010
10001110
11110111
10011010
10001010
1 0 0 0 1 1 1 0]);
>> BW2 = imfill(BW1,[3 3],8)
Procesamiento digital de
Imagenes
54
Descargar

Morfologia v003