Capitolo 7 - Operatori Morfologici per Immagini Binarie INTRODUZIONE Gli operatori della morfologia binaria sono operatori fra insiemi definiti a partire dell immagine binaria. L immagine binaria, I, viene vista come un sottinsieme dell insieme 2D dei numeri interi (E 2 ). Ogni punto dell immagine può essere rappresentato da un vettore costituito da una coppia di coordinate intere definite rispetto ad un origine O (posta usualmente nel punto in alto a sinistra dell immagine). Data I, è possibile definire A : l insieme dei punti di I marcati come oggetto ( ) A c : l insieme dei punti di I marcati come sfondo ( ). Gli operatori morfologici sono operatori fra A e B, doveb è un insieme di E 2, detto elemento strutturante, i cui elementi sono anch essi rappresentati mediante una coppia di coordinate intere riferite ad O. Alcuni esempi di elementi strutturanti: Gli operatori morfologici manipolano la forma degli oggetti dell immagine binaria secondo la forma elementare definita dall elemento strutturante. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 2 DILATAZIONE L operazione di dilatazione (detta anche Somma di Minkowsky) è definita come segue: Esempi: A B = { c E 2 : c = a + b, a A e b B } Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 3 DILATAZIONE La traslazione A t di un insieme A per t è definita come: A t = { c E 2 : c = a + t, a A } Dalla definizione di traslazione segue che la dilatazione può essere espressa come l unione delle traslazioni dell elemento strutturante per i punti dell oggetto o, equivalentemente, come l unione delle traslazioni dell oggetto per i punti dell elemento strutturante. A B = b B A b = B a a A La seconda relazione è particolarmente utile dal punto di vista operativo: assumendo che l immagine d uscita sia inizializzata con tutti i pixel al valore, l elemento strutturante viene posizionato su ogni punto dell immagine d ingresso e, se il punto vale, si esegue l OR fra l elemento strutturante e l immagine di uscita. Alcune proprietà della dilatazione: La dilatazione è commutativa A B = B A La dilatazione è associativa A (B C) =(A B) C Se l elemento strutturante contiene l origine (O B) la dilatazione è una trasformazione estensiva: l insieme originario è contenuto nell insieme dilatato (A A B ) La dilatazione è una trasformazione crescente A C A B C B Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 4 DILATAZIONE L associativià della dilatazione ( chain rule ) consente di decomporre l elemento strutturante in elementi di taglia inferiore ed eseguire l operazione più velocemente mediante una successione di dilatazioni per gli elementi risultanti dalla decomposizione. Generalmente gli elementi strutturanti usati per la dilatazione contengono l origine e sono simmetrici rispetto ad essa. L effetto della trasformazione è allora quello di espandere, dilatare isotropicamente le regioni dell immagine binaria che corrispondono agli oggetti. L impiego più comune di questo tipo di operazioni è il miglioramento della qualità delle immagini ottenute dalla binarizazione nei casi in cui le regioni degli oggetti presentano lacune e/o parti dell oggetto che dovrebbero essere connesse risultano frammentate. L elemento strutturante di gran lunga più usatoè il quadrato. Inoltre, sfruttando la proprietà associativa, si implementa tipicamente solo l elemento base 3x3. Gli operatori di taglia maggiore vengono implementati mediante successioni di dilatazioni per l elemento base: con n dilatazioni per l elemento base si ottiene un risultato equivalente alla dilatazione per un quadrato (2n +)x (2n +). L implementazione della dilatazione per un quadrato 3x3 consiste semplicemente nell aggiungere all oggetto tutti i punti di sfondo che hanno almeno un vicino ( nel senso della 8-connettività ) appartenente all oggetto. In pratica, i contorni dell oggetto vengono espansi di un pixel in tutte le direzioni. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 5 ESEMPI DI OPERAZIONI DI DILATAZIONE L immagine di sinistra può essere vista come il risultato di una binarizzazione che, a causa di una soglia troppo bassa, ha portato alla frammentazione dell oggetto in due parti disgiunte. L immagine destra mostra il risultato della dilatazione per un quadrato 3x3, che consente di riunificare le due parti dell oggetto. Supponiamo ora di binarizzare l immagine seguente utilizzando una soglia troppo bassa: Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 6 ESEMPI DI OPERAZIONI DI DILATAZIONE A causa del valore troppo basso di soglia l oggetto presenta delle lacune: È possibile riempire le lacune dell oggetto eseguendo 4 passi di dilatazione con elemento strutturante Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 7 ESEMPI DI OPERAZIONI DI DILATAZIONE Talvolta nelle operazioni di dilatazione viene impiegato un elemento strutturante di forma circolare. L esempio seguente mostra il risultato della dilatazione di un immagine binaria con un elemento strutturante circolare di raggio pixel. Si noti come il contorno esterno, di forma rettangolare, risulti smussato, arrotondato, mentre quello interno, circolare, mantenga la forma originaria. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 8 ESEMPI DI OPERAZIONI DI DILATAZIONE La dilatazione può essere utilizzata per estrarre i contorni degli oggetti in un immagine binaria. L esempio seguente mostra il risultato di una dilatazione per un quadrato 3x3 seguita dalla sottrazione dell immagine binaria originale. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 9 ESEMPI DI OPERAZIONI DI DILATAZIONE Infine, la dilatazione viene usata insieme agli operatori logici per eseguire operazioni morfologiche più complesse. Un esempio è l operazione di filling, che ricostruisce le regioni associate agli oggetti (immagine binaria I o ) riempiendo i contorni estratti mediante un edge detector. Supponendo di aver estratto i contorni (immagine binaria I B ) e di conoscere almeno un pixel appartenente all oggetto (immagine binaria X ), è possibile ricostruire l oggetto calcolando iterativamente la relazione: X n+ =(X n B) AND ( I B ) dove con B si è indicato l elemento strutturante Quando il calcolo della relazione converge (X n+ = X n ) si può ottenere I o dalla relazione: I o =(X n ) OR (I B ) X I B (X B) AND ( I B )...... X 4 I o =(X 4 ) OR (I B ) Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie EROSIONE L operazione di erosione (detta anche Sottrazione di Minkowsky) è definita come segue: Esempi: A B = { c E 2 : c + b A, b B } Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie EROSIONE L erosione può essere espressa in termini di traslazioni dell elemento strutturante: A B = { c E 2 : B c A } Questa relazione è particolarmente utile dal punto di vista operativo: l elemento strutturante viene posizionato su ogni punto dell immagine d ingresso e, se l AND fra tutti gli elementi a dell elemento strutturante e l immagine d ingresso vale, il punto corrispondente dell immagine di uscita viene messo a. L erosione può essere vista come un operazione morfologica basata sulla sottrazione degli elementi dei due insiemi: A B = { c E 2 : b B a A : c = a b } L erosione può essere espressa in termini di traslazioni dell oggetto: A B = A b b B Alcune proprietà dell erosione: L erosione non è commutativa A B B A L erosione è associativa quando l elemento strutturante è decomponibile in termini di dilatazioni: A (B C) =(A B) C Se l elemento strutturante contiene l origine (O B) l erosione è una trasformazione antiestensiva: l insieme eroso è contenuto nell insieme originario (A B A) L erosione è una trasformazione crescente A C A B C B Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 2 EROSIONE L associativià dell erosione ( chain rule ) consente di decomporre l elemento strutturante in elementi di taglia inferiore ed eseguire l operazione più velocemente mediante una successione di erosioni per gli elementi risultanti dalla decomposizione. Generalmente gli elementi strutturanti usati per l erosione contengono l origine e sono simmetrici rispetto ad essa. L effetto della trasformazione è allora quello di contrarre, rimpicciolire isotropicamente le regioni dell immagine binaria che corrispondono agli oggetti. L impiego più comune di questo tipo di operazioni è il miglioramento della qualità delle immagini ottenute dalla binarizazione nel caso in cui regioni che dovrebbero essere distinte risultano erroneamente connesse. L elemento strutturante di gran lunga più usatoè il quadrato. Inoltre, sfruttando la proprietà associativa, si implementa tipicamente solo l elemento base 3x3. Gli operatori di taglia maggiore vengono implementati mediante successioni di erosioni per l elemento base: con n erosioni per l elemento base si ottiene un risultato equivalente all erosione per un quadrato (2n +)x (2n +). L implementazione dell erosione per un quadrato 3x3 consiste semplicemente nel rimuovere dall oggetto tutti i punti che hanno almeno un vicino ( nel senso della 8- connettività ) appartenente allo sfondo. In pratica, i contorni dell oggetto vengono contratti di un pixel in tutte le direzioni. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 3 ESEMPI DI OPERAZIONI DI EROSIONE L immagine di sinistra mostra il risultato dell erosione dell immagine di destra con un quandrato 3x3: Consideriamo ora l immagine binaria seguente: a causa del valore troppo elevato della soglia alcuni oggetti che dovrebbero essere separati risultano connessi. Ciò può introdurre degli errori nelle elaborazioni successive (ad esempio, nel conteggio del numero di ogggetti presenti nell immagine). Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 4 ESEMPI DI OPERAZIONI DI EROSIONE È possibile separare gli oggetti erroneamente connessi eseguendo 5 passi di erosione con un quadrato 3x3: Anche l erosione può essere utilizzata per estrarre i contorni in un immagine binaria. Nella figura seguente i contorni sono stati estratti erodendo con un quadrato 3x3 ed eseguendo la sottrazione fra l immagine originaria ed il risultato dell erosione. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 5 RELAZIONE DI DUALITÀ Detto B } = { b : b = b, b B In generale vale che: FRA DILATAZIONE ED EROSIONE (A B) c = A c B (A B) c = A c B Se B è simmetrico ( B = B ) : (A B) c = A c B (A B) c = A c B quindi la dilatazione dell oggetto è equivalente all erosione dello sfondo e l erosione dell oggetto è equivalente alla dilatazione dello sfondo. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 6 OPENING E CLOSING Le operazioni di erosione e dilatazione per uno stesso elemento strutturante possono essere impiegate in sequenza al fine di eliminare dall immagine binaria le parti aventi forma diversa da quella dell elemento strutturante senza distorcere le parti che invece vengono mantenute. La successione di un erosione ed una dilatazione è detta opening: A B =(A B) B mentre la successione di una dilatazione ed un erosione è detta closing: A B =(A B) B A differenza di erosione e dilatazione, opening a closing sono trasformazioni idempotenti: (A B) B = A B (A B) B = A B Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 7 Altre proprietà di opening e closing OPENING E CLOSING Opening e closing non sono commutative A B B A, A B B A La trasformazione di opening è antiestensiva, quella di closing è estensiva A B A, A B A Opening e closing sono trasformazioni crescenti A C A B C B, A B C B Dalla seconda proprietà si può intuire che l opening è simile ad una erosione, mentre il closing è simile ad una dilatazione. Il risultato dell operazione di opening è l unione delle parti elementari dell oggetto che hanno la stessa forma dell elemento strutturante. È possibile ricavare una espressione che esprime in modo formale questa proprietà : A B =(A B) B = y A B B y = B y B y A Si può quindi pensare che l operatore di opening esegua il matching fra l elemento strutturante e le parti dell oggetto, eliminando ( erodendo ) quelle che risultano diverse e mantenendo inalterate quelle che risultano uguali. La dualità fra erosione e dilatazione implica quella fra opening e closing: (A B) c = [(A B) B] c = (A B) c B = (A B) c = [(A B) B] c = (A B) c B = Se B è simmetrico ( B = B ) : (A B) c = A c B (A B) c = A c B ( A c B ( A c B ) ) B = A c B B = A c B Possiamo sfruttare la dualità per comprendere l effetto dell operazione di closing. Poiché il closing dell oggetto è equivalente all opening dello sfondo, l operatore di closing esegue il matching fra l elemento strutturante (o il suo riflesso) e le parti dello sfondo, preservando quelle uguali all elemento strutturante (o al suo riflesso) ed eliminando (cioè annettendo all oggetto) quelle diverse. Il sostanza l oggetto viene dilatato annettendo le parti dello sfondo diverse da B (oda B ). Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 8 ESEMPI DI OPERAZIONI DI OPENING Consideriamo un immagine binaria contenente oggetti di forma circolare e di forma rettilinea: È possibile estrarre i soli oggetti di forma circolare eseguendo un operazione di opening con un elemento strutturante circolare opportunamente dimensionato (nel caso in figura il diametro èpixels): Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 9 ESEMPI DI OPERAZIONI DI OPENING Consideriamo un immagine contenente un insieme di oggetti rettilinei orientati differentemente: È possibile estrarre gli oggetti orientati verticalmente eseguendo un operazione di opening con un elemento strutturante 9x3: e quelli orientati orizzontalmente eseguendo un operazione di opening con un elemento strutturante 3x9: Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 2 ESEMPI DI OPERAZIONI DI OPENING Consideriamo nuovamente l immagine del tessuto nervoso, che contiene cellule grandi (le cellule nervose vere e proprie) e piccole (cellule gliali) ed eseguiamo un operazione di sogliatura con livello 2: È possibile estrarre le sole cellule grandi, separandole dal rumore associato allo sfondo e dalle cellule piccole, eseguendo un operazione di opening con un elemento strutturante circolare di diamentro pixel (immagine di sinistra). È utile osservare che l operazione di opening con un elemento più piccolo non consente l estrazione delle sole cellule piccole (immagine di destra, diametro 7 pixel) poichè, evidentemente, l elemento strutturante piccolo è contenuto nelle cellule grandi. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 2 ESEMPI DI OPERAZIONI DI CLOSING L oggetto in figura contiene fori piccoli e fori grandi : Se volessimo rimuovere i fori piccoli potremmo eseguire un operazione di closing con un elemento strutturante circolare di diametro maggiore di quello dei fori piccoli e minore di quello dei fori grandi: Si noti che l operazione di closing rimuove anche il contorno circolare interno. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 22 ESEMPI DI OPERAZIONI DI CLOSING Supponiamo di voler estrarre lo scheletro dell oggetto. Il primo passo consiste nella binarizzazione, effettuata con soglia costante pari a. È possibile eliminare le lacune presenti nella sagoma dell oggetto eseguendo un operazione di closing con un elemento strutturante circolare di diametro 2 pixel. La figura a sinistra mostra il risultato del closing, quella al centro lo scheletro estratto dopo l operazione di closing, quella a destra lo scheletro estratto dall immagine binaria originaria. Lo scheletro dopo l operazione di closing è molto più semplice e rappresenta meglio la forma effettiva dell oggetto. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 23 TRASFORMATA HIT-AND-MISS La trasformata hit-and-miss è un operatore morfologico impiegato per individuare features puntuali in immagini binarie. Dato un elemento strutturante B contenente sia punti appartenenti all oggetto ( ) sia punti appartenenti allo sfondo ( ), il risultato della trasformata hitand-miss è solo nei punti in cui vi è un match perfetto fra B t e l immagine binaria. Negli operatori morfologici precedentemente studiati (opening, closing) i punti dell elemento strutturante che determinano l azione svolta dall operatore sono in realtà solo quelli a, mentre quelli a possono essere visti come condizioni di indifferenza. Viceversa, l azione svolta dalla trasformata hit-and-miss dipende sia dai punti a sia dai punti a dell elemento strutturante. La trasformata hit-and-miss può essere espressa come: A (B,B )=(A B ) (A c B ) con B B =. B e B sono rispettivamente l insieme dei punti a e l insieme dei punti a dell elemento strutturante B. Ad esempio, considerando l elemento strutturante B in grado di individuare i punti isolati (4-connettività): B = B ={(, )},B={(, ), (, ), (, ), (, )} Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 24 ESEMPI DI IMPIEGO DELLA TRASFORMATA HIT-AND-MISS I quattro elemento strutturanti in figura possono essere utilizzati per individuare i corner in un immagine binaria (si tratta dello stesso elemento base nelle 4 possibili orientazioni): La figura di destra mostra il risultato (OR delle 4 trasformate hit-and-miss) della ricerca dei corner nell immagine di sinistra. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 25 ESEMPI DI IMPIEGO DELLA TRASFORMATA HIT-AND-MISS Consideriamo un immagine binaria e supponiamo di voler estrarre i punti caratteristici dello scheletro: Utilizziamo l elemento strutturante gli estremi dello scheletro e gli elementi strutturanti e (4 possibili orientazioni) per individuare (4 possibili orientazioni) (4 possibili orientazioni) per individuare le giunzioni dello scheletro: Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 26 THINNING - APPROCCIO MORFOLOGICO L operazione di thinning dell insieme A per l elemento strutturante B èdefinita tramite la trasformata hit-and-miss come segue : thin(a, B) =A A B = A (A B) c Considerando un immagine binaria ed un elemento strutturante che vale nell origine, il risultato del thinning è una nuova immagine in cui sono stati rimossi tutti i punti dell oggetto per i quali si ha il match con B. È evidente quindi l analogia fra l approccio morfologico e la formulazione del thinning basata sulla descrizione esplicita delle configurazioni locali che danno luogo alla rimozione del punto. Poiché, non è sufficiente l impiego un solo elemento strutturante per ottenere il corretto assottigliamento dell oggetto, l operazione di thinning viene definita a partire da un insieme di elementi strutturanti: {B} = {B,B 2,...B n }, thin(a, B i )=A B i thin (A, {B}) =((...((A B ) B 2 )...) B n ) l immagine iniziale viene assottigliata usando B, quindi il risultato viene assottigliato usando B 2... L operazione thin (A, {B}) si intende iterata ciclicamente fino a che non si verifica più alcun cambiamento nell immagine. Un insieme di elementi strutturanti che possono essere utilizzati per il thinning è dato da: B B 3 B 5 B 7 B 2 B 4 B 6 B 8 L approccio morfologico risulta vantaggioso quando si lavora con un ambiente di sviluppo che mette a disposizione gli operatori morfologici di base. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 27 PRUNING L operazione di pruning costituisce un importante complemento degli algoritmi di thinning e di scheletrizzazione in quanto consente di rimuovere dall immagine le diramazioni spurie che possono essere prodotte da tali algoritmi. Per diramazioni spurie si intendono corte diramazioni dello scheletro (o della linea sottile) ritenute non significative ai fini della caratterizzazione della forma dell oggetto. L obiettivo del pruning è eliminare solamente i rami spuri, lasciando inalterata la forma e le dimensioni dello scheletro (o linea sottile). Tipicamente l operazione di pruning consta di 4 passi:. Un piccolo numero di iterazioni (2,3,4...a seconda della lunghezza dei rami spuri che devono essere eliminati) di thinning con un insieme di elementi strutturanti in grado di rimuovere gli end-points: B B 5 B 2,B 3,B 4 : rotazioni di B, B 6,B 7,B 8 : rotazioni di B 5 X = thin (A, {B}) 2. Individuazione degli end-points dell immagine risultante dalla rimozione: X 2 = 8 i= X B i 3. A partire dagli end-points, esecuzione di un numero di iterazioni di dilatazione condizionata (vincolo di appartenenza all immagine iniziale) pari a quello delle iterazioni di thinning: X 3 =(X 2 H) A, H : usuale elemento strutturante 3x3 questo passo mira a ricostruire le parti non spurie dello scheletro (o linea sottile) rimosse dal thinning. 4. Unione della parti ricostruite al passo precedente e dell immagine assottigliata: X 4 = X X 3 Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 28 ESEMPI Il thinning può essere utilizzato per assottigliare i bordi ottenuti mediante l impiego di edge-detector basati sul thresholding del gradiente (ad esempio l edge-detector basato sull operatore di Sobel). Le figure seguenti mostrano l immagine originaria, il gradiente calcolato con l operatore di Sobel ed i bordi ottenuti mediante thresholding del gradiente (soglia = 6). Le due figure seguenti mostrano il risultato del thinning dell immagine dei bordi (lo spessore dei bordi viene ridotto ad un solo pixel) e il pruning dei rami spuri dei contorni. Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 29 ESEMPI Nelle applicazioni di riconoscimento dei caratteri gli operatori morfologici vengono usati per estrarre lo scheletro dei caratteri. Qui si mostra un esempio di questo tipo di operazioni, partendo dall immagine di un carattere giapponese manoscritto. La prima operazione effettuata sull immagine è una binarizzazioen con soglia globale (valore 8). Successivamente si estrae lo scheletro con un algoritmo di thinning di tipo morfologico. Purtoppo, a causa della non perfetta binarizzazione, lo scheletro non è connesso. È possibile connettere le parti dell immagine binaria con 3 passi di dilatazione e successivamente eseguire il thinning: Elaborazione dell Immagine L-S, A.A. 23-24
Capitolo 7 - Operatori Morfologici per Immagini Binarie 3 ESEMPI Sebbene la dilatazione abbia portato ad uno scheletro connesso, l effetto negativo ècostituito dalla generazione di rami spuri. Cercheremo di eliminarli mediante un operazione di pruning. Le prime 3 figure mostrano il risultato di 2 iterazioni di thinning con un elemento strutturante in grado di eliminare gli end-points, della individuazione degli end-points nell immagine assottigliata e della loro dilatazione condizionata. L immagine finale (quarta figura) è ottenuta eseguendo l OR fra l immagine assottigliata e quella ottenuta dalla dilatazione condizionata: Elaborazione dell Immagine L-S, A.A. 23-24