Sei sulla pagina 1di 27

Morfologia e Image Processing

Multimedia A.A 2009/2010 S. Battiato

Morfologia Matematica
Nellambito dellimage processing il termine morfologia matematica denota lo studio della struttura geometrica dellimmagine. E uno strumento utile per la rappresentazione e la descrizione della forma di una regione. Si possono ricavare i contorni, lo scheletro, ecc. E uno strumento matematico definito inizialmente su immagini binarie ma facilmente estensibile ad immagini a toni di grigio e quindi a colori.
Multimedia A.A 2009/2010 S. Battiato

Morfologia Matematica
Processamento ed Analisi della forma di una regione La percezione visiva richiede la trasformazione di immagini in modo da rendere esplicita linformazione sulle forme delle regioni (es: oggetti) in essa presenti. Obiettivo: Distinguere le informazioni significative sulla forma da quelle irrilevanti. La maggior parte delle tecniche per lanalisi ed il processamento della forma delle regioni sono basate sulla realizzazione di un operatore di forma che soddisfi le propriet richieste.
Multimedia A.A 2009/2010 S. Battiato

Esempi

Lanalisi di unimmagine prevede lestrazione di misure caratteristiche dellimmagine considerata. Ad esempio, le misure Geometriche consistono nella posizione di un oggetto, nella orientazione, larea e la lunghezza del perimetro
Multimedia A.A 2009/2010 S. Battiato

Preliminari

Gli insiemi nella morfologia matematica rappresentano degli oggetti in unimmagine: - Immagini binarie (0 = white, 1 = black): lelemento dellinsieme corrisponde alle coordinate (x, y) del pixel; Loggetto definito in Z2; - Immagini a toni di grigio: lelemento dellinsieme corrisponde alle coordinate (x,y) del pixel e al suo valore di intensit; Loggetto definito in Z3;

Multimedia A.A 2009/2010 S. Battiato

Preliminari
Se un elemento di A definito come a=(a1,a2) sono ben definite le seguenti espressioni: a appartiene all insieme A; a
a

a non appartiene all insieme A; A incluso in B; Unione; Intersezione; Intersezione vuota; Complementare di A; Differenza insiemistica;

C = C = =

c = {w | w }

B = {w | w , w } = c

Multimedia A.A 2009/2010 S. Battiato

Esempi

Multimedia A.A 2009/2010 S. Battiato

Riflessione e Traslazione Siano A e B insiemi in Z2 B = {w w = b, b B}, Riflessione dell ' insieme B

( A) z = {w w = a + z , a A}, Traslazione dell ' insieme A

Multimedia A.A 2009/2010 S. Battiato

Operazioni logiche

Multimedia A.A 2009/2010 S. Battiato

Elemento strutturante
La struttura dellimmagine viene sondata con un insieme di forma definibile dallutente (elemento strutturante) solitamente codificato da un piccola immagine raster (33 o 55). 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.
Multimedia A.A 2009/2010 S. Battiato

Dilation
Espande gli oggetti

A B = z B z A = z B z A A

{( )

} {( )

Leffetto dilatazione dovuto allapplicazione dellelemento strutturante B vicino ai bordi. Dalla definizione si evince che lelemento strutturale viene ribaltato rispetto alla sua origine, attraverso loperazione di riflessione, e shiftato di z posizioni attraverso una traslazione. Il risultato delloperatore linsieme delle posizioni z tali (B^)zche interseca almeno un elemento di A.
Multimedia A.A 2009/2010 S. Battiato

Esempio di Dilatazione

Multimedia A.A 2009/2010 S. Battiato

Esempio di Dilatazione

> B=ones(3,3)

Multimedia A.A 2009/2010 S. Battiato

Esempio di Dilatazione

> B=ones(3,3)
1 1 1 1 1 1 1 1 1 0

Multimedia A.A 2009/2010 S. Battiato

Esempio di Dilatazione

> B=ones(3,3)
1 1 1 1 1 1 1 1 1 0

Multimedia A.A 2009/2010 S. Battiato

Esempio di Dilatazione

> B=ones(3,3)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1

Multimedia A.A 2009/2010 S. Battiato

Applicazioni: Riempimento

Multimedia A.A 2009/2010 S. Battiato

Erosion
Erode/Assottiglia gli oggetti

AB = z (B )z A

Leffetto di erosione dovuto al fatto che quando lelemento strutturante B viene traslato vicino ai bordi esso non completamente contenuto in A.

Multimedia A.A 2009/2010 S. Battiato

Esempio di Erosione

Multimedia A.A 2009/2010 S. Battiato

Esempio di Erosione

Multimedia A.A 2009/2010 S. Battiato

Esempio di Erosione

1 1 1 1 1 1 1 1 1

Multimedia A.A 2009/2010 S. Battiato

Esempio di Erosione

1 1 1 1 1 1 1 1 1

Multimedia A.A 2009/2010 S. Battiato

Esempio di Erosione

Multimedia A.A 2009/2010 S. Battiato

Erosion/Dilation: Dualit

Vale la seguente propriet:

Multimedia A.A 2009/2010 S. Battiato

Analisi Granulometrica

Sulla sinistra rappresentata unimmagine contenente dei quadrati bianchi di dimensione 1,3,5,7,9 e 15. Al centro viene riportato loutput di un processo di erosione con un elemento strutturale di lato 13. Applicando poi una dilatazione con lo stesso elemento strutturale si ottiene un elegante rimozione dei dettagli iniziali
Multimedia A.A 2009/2010 S. Battiato

Opening
Rimozione Strutturata di Punte

Opening(A,B)=A B=(AB) B = { (Bz)| (Bz) A } Un erosione seguita da una dilatazione utilizzando lo stesso elemento strutturale. Leffetto dellopening di preservare il pi possibile regioni di forma simile allelemento strutturante, e di eliminare quelle differenti. E un filtro di smoothing, di cui potenza e tipologia vengono determinati dalla forma e dalle dimensioni di B.
Multimedia A.A 2009/2010 S. Battiato

Opening

Multimedia A.A 2009/2010 S. Battiato

Opening

Un esempio di problema che richiede lapplicazione dellapertura leliminazione delle linee dallimmagine in figura. 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.
Multimedia A.A 2009/2010 S. Battiato

Closing
Riempimento strutturato di cavit

Closing(A,B)= AB = (A B) B Una dilatazione seguita da un erosione utilizzando lo stesso elemento strutturale. Leffetto del closing di chiudere gli eventuali buchi interni.

Multimedia A.A 2009/2010 S. Battiato

Closing

Multimedia A.A 2009/2010 S. Battiato

Esempi

Multimedia A.A 2009/2010 S. Battiato

Opening/Closing: Propriet

Multimedia A.A 2009/2010 S. Battiato

Opening/Closing: Noise Reduction

Erosion Opening Dilatation Dilatation Closing Erosion

Multimedia A.A 2009/2010 S. Battiato

Hit/Miss Transform
Pattern Matching e Marcatura Dati X sottoinsieme di W A*X=(A X ) [ Ac (W - X)] dove (W - X) il background locale e (A X) lerosione di A con lelemento cercato X Lo stesso operatore si pu definire come : A*B=(A B1 ) [ Ac B2] dove B1 si riferisce alloggetto e B2 il background. E utilizzato come rivelatore dettagliato della presenza di una forma allinterno di una immagine.
Multimedia A.A 2009/2010 S. Battiato

Hit-or-Miss

Multimedia A.A 2009/2010 S. Battiato

HTM: Corner Detection

Se i pixel di foreground e background dellelemento strutturante hanno un exactly match con il foreground e background pixels della immagine, allora il pixel corrispondente alla posizione dellorigine nellelemento strutturante verr settato a a 1, altrimenti settato a 0.
Multimedia A.A 2009/2010 S. Battiato

Esempi

Multimedia A.A 2009/2010 S. Battiato

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

Multimedia A.A 2009/2010 S. Battiato

Estrazione contorni

B=ones(3,3) (A) = A - ( A B )
Multimedia A.A 2009/2010 S. Battiato

Applicazioni Avanzate: Region Filling


Applicazione iterativa di logical NOT, logical AND e dilation Il processo pu essere descritto con la seguente formula:

dove Xk la regione che, dopo la convergenza del processo, riempie il bordo iniziale identificato da A. J lelemento strutturante.

Multimedia A.A 2009/2010 S. Battiato

Esempio: Region Filling


A J X0
Serve a prevenire che la crescita (growing) sconfini rispetto ai bordi di A.

Anot

Step 2

Iterazioni
Convergence Step 3 Step 4 Step 5 Step 6 Step 7

U
final result
Multimedia A.A 2009/2010 S. Battiato

Altre applicazioni avanzate


Thinning: operatore morfologico usato per rimuovere pixel di foreground selezionati opportunamente. Skeletonization: processo per la riduzione del foreground ad uno scheletro che preserva la misura e la connettivit del foreground originale. Si usa loperatore di thinning ripetutamente fino a convergenza

Thickening: operazione morfologica usata per far crescere regioni opportunamente selezionate. E una operazione utile per lestrazione del convex hull di uno shape.
Multimedia A.A 2009/2010 S. Battiato

Estensioni a immagini grey-scale


E possibile generalizzare le tecniche di morfologia matematica a immagini a livelli di grigio. In questo caso: f(x, y): immagine di input; b(x, y): un elemento strutturale (una sottoimmagine); (x, y): coordinate intere. f e b sono funzioni che assegnano un livello di grigio ciascuna coppia distinta di coordinate intere. a

Multimedia A.A 2009/2010 S. Battiato

Dilation/Erosion a Toni di Grigio


Dilation
(f b)(s, t) = max {f(s - x, t - y) + b(x, y)| (s - x) D f ,(t - y) D f , (x, y) Db }

dove Df , Db rappresentano rispettivamente i domini della f e della b. Se tutti i valori dellelemento strutturale sono positivi limmagine di output tende ad essere pi chiara dellinput. Dettagli scuri sono ridotti o eliminati a seconda del loro valore e della forma e del valore di b. Erosion
(f b)(s, t) = min{f(s + x, t + y) b(x, y)| (s + x) D f ,(t + y) D f , (x, y) Db }

dove Df , Db rappresentano rispettivamente i domini della f e della b. Se tutti i valori dellelemento strutturale sono positivi limmagine tende ad essere pi scura dellinput. Si pu controllare il grado di schiarimento dei piccoli dettagli chiari a seconda del loro valore e della forma e del valore di b.
Multimedia A.A 2009/2010 S. Battiato

Dilation 1-D

(f b)(s) = max {f(s - x) + b(x)| (s - x) D f , (x) Db }

Multimedia A.A 2009/2010 S. Battiato

Erosion 1-D
( fb)( s ) = min {f(s + x) b(x)| (s + x) D f , (x) Db }

Multimedia A.A 2009/2010 S. Battiato

Estensioni a immagini grey-scale


A destra un esempio di opening e di closing su un segnale monodimensionale

Multimedia A.A 2009/2010 S. Battiato

Esempi

Original

Dilation

Erosion

Multimedia A.A 2009/2010 S. Battiato

Ancora Esempi

Multimedia A.A 2009/2010 S. Battiato

Esempi

Multimedia A.A 2009/2010 S. Battiato

Morfologia in MATLAB Gli operatori di base sono disponibili tramite i comandi MATLAB: C=imerode(A,B) C=imdilate(A,B) C=imopen(A,B) C=imclose(A,B) dove A e C sono immagini binarie e B una matrice di 0 e 1 che specifica lelemento strutturale.
Multimedia A.A 2009/2010 S. Battiato

Morfologia in MATLAB:strel Lelemento strutturale pu essere anche generato utilizzando la funzione strel, che grazie ad uninnumerevoli serie di parametri permette la creazione diverse forme di varia grandezza.

Multimedia A.A 2009/2010 S. Battiato

Opzioni istruzione bwmorph


La funzione bwmorph implementa una variet di operazioni basate sulla combinazione di operatori morfologici di base. La sua sintassi la seguente: G=bwmorph(f,oper,n) dove f limmagine binaria di input, oper una stringa (vedi tabella accanto) ed n indica il numero di volte che loperazione deve essere ripetuta
Multimedia A.A 2009/2010 S. Battiato