Morphological Image processing Morfologia matematica

Transcript

Morphological Image processing Morfologia matematica
Morphological Image processing
Caponetti
Morfologia matematica
™ La parola morfologia comunemente denota una
parte della biologia che tratta con la forma e la
struttura di organismi
™ In analogia al termine biologico gli operatori
morfologici matematici effettuano elaborazioni sulla
forma di un oggetto
Caponetti
1
Morfologia matelatica
™ Nell’ambito dell’image processing il termine morfologia
matematica denota lo studio della struttura geometrica
dell’immagine
™ Fornisce uno strumento per estrarre in una immagine
componenti utili nella rappresentazione e descrizione della
forma di una regione, quali contorni, scheletro, ecc.
™ E’ uno strumento matematico definito inizialmente su immagini
binarie ma facilmente estensibile ad immagini a toni di grigio e
quindi a colori.
Caponetti
Image analysis
™ Analisi della forma di una regione
ƒ Obiettivo: Distinguere le informazioni
significative sulla forma da quelle irrilevanti
™ Ad esempio estrazione di un profilo
Caponetti
2
Image analysis
™ L’analisi di una immagine può richiedere l’estrazione
di misure caratteristiche delle sue regioni
™ Ad esempio misure geometriche quali
ƒ posizione di un “oggetto”
ƒ orientazione
ƒ area e perimetro
Caponetti
Definizioni preliminari
™ Il linguaggio della morfologia matematica è la teoria degli
insiemi
™ L’insieme dei pixel di una immagine si può vedere come un
elemento dello spazio degli interi Z2 oppure Z3
ƒ Immagini binarie (0 = black, 1 = white): una immagine è
descritta come un insieme A di coppie di coordinate (x,y),
di pixel di valore ad esempio 1. L’insieme A è definito in Z2
ƒ Immagini a toni di grigio: una immagine è descritta
come un insieme di triple di interi, cioè le coordinate (x,y)
del pixel ed il corrispondente valore di intensità- L’ insieme A
è definito in Z3
Caponetti
3
Operatori logici
Caponetti
Definizioni preliminari
™ Se un elemento di A è definito come a=(a1,a2) sono
ben definite le seguenti espressioni:
ƒ a ∈ A a appartiene all’ insieme A
ƒ a ∉ A a non appartiene all’ insieme A
ƒ A ⊆ B A è incluso in B
ƒ C = A ∪ B Unione
ƒ C = A ∩ B Intersezione
ƒ Ac = {w| w ∉ A} Complementare di A
ƒ A- B = {w| w ∈ A,w ∉ B}= A ∩ Bc Differenza
Caponetti
4
Riflessione e traslazione
A
™ A ⊆ Z2, t ∈Z2
™ Traslazione di A rispetto ad un vettore z=(z1, z2)
ƒ Az = { w∈Z2 | w=a+z, a∈A }
ƒ La traslazione di A rispetto z è l’insieme dei punti
di A le cui coordinate (x,y) sono sostituite con
(x+z1, y+z2)
™ Riflessione di A
Ar= { w | w=-a, a∈A }
ƒ La riflessione di A è l’insieme dei punti di A le cui
coordinate (x,y) sono sostituite con (-x,-y)
A(2,1)
Ar
Caponetti
Riflessione e traslazione
™Siano A e B insiemi in Z2
Caponetti
5
Operatori fondamentali
™ La struttura dell’immagine viene “sondata” con un insieme, di
forma definibile dall’utente, (elemento strutturante)
solitamente codificato da un piccola immagine raster (3×3 o
5×5).
™ Vengono definiti 5 operatori principali: Dilation, Erosion,
Opening, Closing, Hit-or-Miss transform, che combinati
con diversi elementi strutturanti B trasformano un “oggetto” A
in vario modo.
™ Erosione e Dilatazione sono gli operatori elementari
ƒ Operatori più complessi sono definiti come combinazioni di
questi ultimi.
Caponetti
Dilation
™ L’effetto dell’operatore su una immagine binaria è di
allargare gradualmente i contorni delle regioni di
pixel non di background (tipicamente i pixel chiari)
™ In questo modo l’area dei pixel foreground cresce in
dimensione, mentre i vuoti in queste regioni
diventano più piccoli
Caponetti
6
Somma di Minkowski (Dilation)
™ A⊕B = { w∈Z2 | w=a+z, a∈A, z∈B }
™ A⊕B = U Az , z∈B
ƒ Si dimostra facilmente: A⊕B = B⊕A
B= { (0,0), (1,0) }
A
Caponetti
A(0,0)
A(1,0)
A⊕B
Dilation
™Supponiamo che A sia l’insieme delle coordinate dei pixel di una
immagine binaria A e B l’insieme delle coordinate dell’elemento
strutturante
™Il risultato dell’operatore è l’insieme delle posizioni z tali che (B^)z
interseca almeno un elemento di A
™(B^)z è l’insieme ottenuto dopo una riflessione e una traslazione
ƒ L’elemento strutturante viene ribaltato rispetto alla sua origine,
attraverso l’operazione di riflessione, e shiftato di z posizioni
attraverso una traslazione
Caponetti
7
Dilation
L’insieme B è l’ elemento strutturante.
B= {(-1,0), (1,0) }
A
A(1,0)
A(-1,0)
A⊕B
Caponetti
Dilation
™ Per calcolare la dilatazione di una immagine binaria A
mediante un elemento strutturante sovrapponiamo
l’elemento strutturante sulla immagine in modo tale
che l’origine della matrice coincida con il pixel in
esame
™ Se il pixel centrale della matrice coincide con un
foreground pixel nella immagine A allora il pixel in
esame è posto a 1
1 1 1
1
1
Caponetti
1
1
1
1
Structuring element
8
L’effetto dell’operatore è dovuto all’applicazione di B
vicino ai bordi
Effetto della dilatazione utilizzando un elemento
strutturante quadrato 3×3: i vuoti tra le 2 regioni
vengono riempiti
Caponetti
Dilation
Caponetti
9
Dilation
™ Dilatazione: l’effetto dell’operatore su una immagine binaria è di
allargare gradualmente i contorni delle regioni di pixel – non di
background (tipicamente i pixel chiari)
™ In questo modo l’area dei pixel foreground cresce in dimensione,
mentre i vuoti in queste regioni diventano più piccoli
ƒ L’elemento strutturante determina l’effetto dell’operatore di
dilatazione sulla immagine
™ Gli operatori di dilatazione:
ƒ Espandono gli oggetti in una immagine
ƒ Riempono le lacune di piccola dimensione
ƒ Connettono oggetti separati da una distanza minore della
dimensione della matrice dell’elemento strutturante
Caponetti
Dilation - esempio
Input image
Edge image
After dilation
L’operatore dilation è applicato ad una immagine binaria avente :
1- regione background, 0 - regione foreground
Caponetti
10
Erosion (Differenza di Minkowski)
™ AΘB = { w∈Z2 | w+z∈A, per ogni z∈B }
™ AΘB = ∩ Az z∈B
A
A(-1,0)
B= { (0,0), (-1,0) }
A-B
Caponetti
Erosion
™L’effetto della erosione è dovuto al fatto che quando l’elemento
strutturante B viene traslato vicino ai bordi esso non è
completamente contenuto in A
Caponetti
11
Erosion
™ L’effetto dell’operatore su una immagine binaria è di
di erodere i contorni delle regioni dei pixel
foreground (tipicamente i pixel bianchi)
™ L’area dei pixel foreground pixels si restringe in
dimensioni e i buchi si allargano
Caponetti
Erosion
™ Per calcolare l’erosione di una immagine binaria A mediante un
elemento strutturante sovrapponiamo l’elemento strutturante
sulla immagine su ogni pixel della immagine A
1
1
1
1
1
1
1
1
1
Structuring element
™ L’elemento strutturante è sovrapposto a ogni foreground pixel
della immagine A. Se tutti i pixel sotto l’elemento strutturante
sono foreground pixels allora l’input pixel trattiene il suo valore.
Ma se uno dei pixel è un background pixel allora l’input pixel
prende il valore del background
Caponetti
12
Effetto della erosione usando un elemento strutturante
quadrato 3×3: alcuni dettagli della immagine sono stati
eliminati
Caponetti
An example:
Caponetti
13
Erosion
Caponetti
Erosion - esempio
Input image
Binary edge image After erosion
L’operatore erosion è applicato ad una immagine binaria avente :
1- regione background, 0 - regione foreground
Caponetti
14
Proprietà
Caponetti
Opening – Rimozione di punte
™L’operatore opening è costituito da una erosione seguita da una
dilatazione utilizzando lo stesso elemento strutturale
™L’effetto dell’opening è di preservare il più possibile regioni di
forma simile all’elemento strutturante, e di eliminare quelle
differenti
™E’ un filtro di smoothing, il cui effetto è determinato dalla forma
e dalle dimensioni di B
Caponetti
15
™Un opening è definito da una erosione seguita da una
dilatazione mediante lo stesso elemento strutturante
Effect of opening using a 3×3 square structuring element
Caponetti
Caponetti
16
Opening
Caponetti
Opening
™Per eliminare le lineee nella immagine si può applicare una
operazione di opening
™ In questo caso viene utilizzato un elemento strutturale a forma
sferica di raggio pari a quello dei cerchi da preservare che è
maggiore dello spessore delle linee
Caponetti
17
Caponetti
Closing – Riempimento di cavità
™Una dilatazione seguita da un erosione utilizzando lo stesso
elemento strutturale
™ L’effetto del closing è di chiudere gli eventuali buchi interni
Caponetti
18
Closing
Caponetti
Hit-and-Miss Transform
™ La trasformata hit-and-miss è una operazione
generale della morfologia binaria che può essere
usata per cercare particolari patterns costituiti da
pixel del foreground o del background
™ La trasformata hit-and-miss costituisce uno
strumento di base per il processo di shape detection,
basato su 2 concetti:
ƒ Hit object -Colpisci l’oggetto
ƒ Miss background –manca il background
Caponetti
19
Hit-and-Miss Transform
™ Gli elementi strutturanti usati in questa
trasformazione sono una estensione delle maschere di
1 usate nelle operazioni di dilation, erosion etc.
™ Gli elementi strutturanti possono contenere
foreground e background pixels, piuttosto che
soltanto foreground pixels
ƒ L’elemento strutturante B=(B1, B2)
ƒ B1 è l’insieme formato dagli elementi di B associati ad un
oggetto
ƒ B2 è l’insieme formato dagli elementi di B associati allo
sfondo corrispondente
B2 = B- B1 denota l’insieme differenza
Caponetti
Hit-and-Miss Transform
™ A ⊗ (B1,B2) = (A Θ B1)∩(Ac Θ B2)
ƒ con il vincolo B1∩B2=∅
ƒ Intersezione della erosione di A attraverso B1 e Ac attraverso B2
™ Assumiamo che l’origine di ogni forma coincida con il suo centro di gravità
™ L’insieme risultante contiene tutti i pixel – origine - per cui simultaneamente B1
ha trovato un match in A e B2 in Ac - complemento di A
™ L’elemento strutturante B è sovrapposto su ciascun pixel della immagine di
input:
ƒ Se si ha un match esatto tra i pixel foreground e background dell’elemento
strutturante e della immagine allora il pixel di input in corrispondenza della
origine dell’elemento strutturante è posto uguale al valore del foreground
pixel
ƒ Altrimenti il pixel di input è sostituito con il valore del background
Caponetti
20
A ⊗ B = ( A ⊕ B1 ) ∩ ( AC ⊕ B2 )
Caponetti
Esempi
Quattro elementi strutturanti utilizzati per trovare i
corner in una immagine binaria mediante la hit-andmiss transform
Caponetti
21
Operatori complessi
™ La combinazione degli operatori di base consente di
eseguire altre operazioni complesse quali
ƒ estrazione contorno
ƒ riempimento regioni
ƒ componenti connesse
ƒ “guscio” convesso
ƒ thinning
ƒ thickening
ƒ pruning
Caponetti
Estrazione di contorni
™ Il bordo di un insieme A, indicato con β(A), si può
ottenere mediante
ƒ L’erosione di A attarverso un elemento
strutturante B
ƒ L’insieme differenza tra A ed il risultato della
erosione di A
β(A) = A – (A Θ B)
™ Lo spessore del contorno dipende dalla dimensione
dell’elemento strutturante B
Caponetti
22
Esempio
Caponetti
Estrazione del contorno
leaf
erosion
leaf – inv erosion
Caponetti
23
Estrazione di particelle dal background
1: J1 = J
/* steps performed on J1 */
2: Apply Sobel gradient – per individuare i contorni
3: Make Binary
4: Kill Borders on right and left borders – pulizia dei
bordi
5: Apply dilation - dilatazione
6: Fill Holes –
7: Open-Close – smoothing dei contorni
8: J2 = J1 - J;
Caponetti
embryos.jpg
Caponetti
24