Morfologia matematica 23/12/2017 Morfologia matematica Luigi Cinque Dipartimento di Informatica cinque@di.uniroma1.it Elaborazione delle Immagini Morfologia matematica
Sommario Morfologia binaria Morfologia a toni di grigio Trasformata distanza Elaborazione delle Immagini Morfologia matematica
Tassellazione del piano Quadrata Triangolare Esagonale Elaborazione delle Immagini Morfologia matematica
Definizioni preliminari A En, t En Traslazione di A rispetto ad un vettore t At = { cEn | c=a+t, aA } Riflessione di A Ar= { c | c=-a, aA } Complemento di A Ac = En -A A A(2,1) Ar Elaborazione delle Immagini Morfologia matematica
Somma di Minkowski (Dilation) AB = { cEn | c=a+b, aA, bB } AB = U Ab , bB Si dimostra facilmente: AB = BA B= { (0,0), (1,0) } A Elaborazione delle Immagini Morfologia matematica A(0,0) A(1,0) AB
Dilation L’insieme B viene normalmente definito elemento strutturante 23/12/2017 Dilation L’insieme B viene normalmente definito elemento strutturante B= {(-1,0), (1,0) } A Elaborazione delle Immagini A(-1,0) A(1,0) AB Morfologia matematica
Erosion (Differenza di Minkowski) AB = { cEn | c+bA, per ogni bB } AB = A-b bB A B= { (0,0), (1,0) } A(-1,0) A-B Elaborazione delle Immagini Morfologia matematica
Proprietà (A+B)+C=A+(B+C) (A-B)-C=A-(B+C) (AB)+C=(A+C)(B+C) (A B)-C=(A-C) (B-C) A+B= Ab A-B= A-b AB(A+C) (B+C) AB(A-C) (B-C) (AB)+C (A+C)(B+C) (A B)-C (A-C) (B-C) A+(BC)=(A+B)(A+C) A-(BC)=(A-C)(B-C) (A+B)c=Ac -Br A+Bt=(A+B)t A-Bt=(A-B)-t A-(BC)(A-C)(B-C) Per semplicità di notazione si è usato +e- per gli operatori erosion e dilation Elaborazione delle Immagini Morfologia matematica
Closing C(A, K) = (A+K)-K K A A+K (A+K)-K AC(A,K)=C(C(A,K),K) Elaborazione delle Immagini Morfologia matematica
Closing C(A, K) = (A+K)-K K A A+K (A+K)-K Elaborazione delle Immagini Morfologia matematica
Closing C(A, K) = (A+K)-K K A A+K (A+K)-K Elaborazione delle Immagini Morfologia matematica
Closing A+K A K (A+K)-K Elaborazione delle Immagini Morfologia matematica
Opening O(A, K) = (A-K)+K K A A-K (A-K)+K O(O(A,K),K)=O(A,K)A Elaborazione delle Immagini Morfologia matematica
Opening O(A, K) = (A-K)+K K A A-K==(A-K)+K Elaborazione delle Immagini Morfologia matematica
Opening O(A, K) = (A-K)+K K A A-K (A-K)+K Elaborazione delle Immagini Morfologia matematica
Hit or Miss A(J,K) = (A-J)(Ac-K) con il vincolo JK= Permette di trovare strutture regolari (template matching) Elaborazione delle Immagini Morfologia matematica
Esempio Ricerca di punti isolati (8-connessi) J A Ac K A-J=A J A Ac K Risultato finale Ac-K Elaborazione delle Immagini Morfologia matematica
Esempio Ricerca di punti isolati (4-connessi) J A Ac K Risultato finale Ac-K Elaborazione delle Immagini Morfologia matematica
Esempio J e K possono essere visti come una unica maschera con tre tipi di valori Punti necessariamente di immagine Punti di background Punti non rilevanti M Elaborazione delle Immagini Morfologia matematica
Hit or Miss - Esempio Elaborazione delle Immagini Morfologia matematica Pixel compatibili con la maschera di background Pixel compatibili con la maschera per l’immagine
Umbra (estensione alle immagini gray scale) A En, FEn-1, xF, yE Top di un insieme A (T[A]:FE): T[A](x) = max { y | (x, y) A } Umbra di f (f:FE): U[f] = { (x, y) F x E | y f(x) } Elaborazione delle Immagini Morfologia matematica Insieme A Top di A Umbra di A
Umbra - proprietà T[A] A U[A] En U[U[A]] U[ A] Elaborazione delle Immagini Morfologia matematica
Gray scale dilation Dati: F,KEn-1 , f:FE, k:KE Si definisce dilation di f tramite k f k = T{U[f]U[k]} Si dimostra che una definizione equivalente è: (f k)(x) = max{f(x-z)+k(z) | zK, x-zF} Dal punto di vista computazionale la complessità è equivalente ad una convoluzione Elaborazione delle Immagini Morfologia matematica
Esempio - dilation k U[k] f U[f] U[f]U[k] fk = T[U[f]U[k]] Elaborazione delle Immagini Morfologia matematica U[f]U[k] fk = T[U[f]U[k]]
Esempio - dilation (f k)(6) = max{f(6-0)+k(0), f(6-1)+k(1), f(6-2)+k(2)}= max{f(6)+k(0), f(5)+k(1), f(4)+k(2)}= max{5+0, 6+1, 5+0} = 7 x f k fk 1 1 1 3 1 3 2 5 5 3 3 6 4 5 5 Elaborazione delle Immagini 5 6 6 6 5 7 Morfologia matematica 7 6 8 5
Esempio - dilation (f k)(5) = max{f(5-(-1))+k(-1), f(5-0)+k(0), f(5-1)+k(1)}= max{f(6)+k(-1), f(5)+k(0), f(4)+k(1)}= max{5-1, 6+0, 5-1} = 6 x f k fk -1 -1 1 2 1 3 -1 4 2 5 5 3 3 4 Elaborazione delle Immagini 4 5 5 5 6 6 Morfologia matematica 6 5 5 7 4
Esempio - dilation Elaborazione delle Immagini Morfologia matematica
Gray scale erosion Dati: F,KEn-1 , f:FE, k:KE Si definisce erosion di f tramite k fk = T{U[f]U[k]} Si dimostra che una definizione equivalente è: (fk)(x) = min{f(x+z)-k(z) | zK, x+zF} Elaborazione delle Immagini Morfologia matematica
Esempio - erosion (fk)(5) = min{f(5-(-1))-k(-1), f(5-0)-k(0), f(5-1)-k(1)}= min{f(6)-k(-1), f(5)-k(0), f(4)-k(1)}= min{5+1, 6-0, 5+1} = 6 x f k f-k -1 -1 1 1 3 -1 2 2 5 4 3 3 3 Elaborazione delle Immagini 4 5 4 5 6 6 Morfologia matematica 6 5 7
Esempio - erosion Elaborazione delle Immagini Morfologia matematica
Esempio - opening Elaborazione delle Immagini Morfologia matematica
Esempio - closing Elaborazione delle Immagini Morfologia matematica
Trasformata distanza La trasformata distanza è una funzione da una immagine binaria ad una gray-level Nella immagine prodotta i pixel di sfondo rimangono a 0, i pixel della figura vengono etichettati con la loro distanza dallo sfondo La distanza dipende dal tipo di connessione che si assume per la figura (4/8 connessione) Elaborazione delle Immagini Morfologia matematica
Trasformata distanza Una possibile implementazione è tramite una successione di operazioni di erosione e di somma dell’immagine ottenuta (il risultato dipende dalla scelta dell’elemento strutturante) R = while(A<>) do R = R+A A = RQK done Elaborazione delle Immagini Morfologia matematica
Trasformata distanza Elaborazione delle Immagini Morfologia matematica
DT - algoritmo sequenziale Si effettuano due scansioni dell’immagine La prima dall’alto al basso e da sinistra a destra ogni pixel della figura è uguale al valore minore fra i vicini già considerati incrementato di 1 La seconda dal basso all’alto, da destra a sinistra ogni pixel della figura è uguale al minimo fra i vicini già considerati incrementato di 1 ed il pixel stesso Elaborazione delle Immagini Morfologia matematica
DT - algoritmo sequenziale 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 2 2 2 2 2 1 1 2 3 3 3 3 2 1 2 3 3 3 2 1 1 2 3 4 4 4 4 2 1 1 2 3 4 4 4 3 2 1 1 2 3 4 5 5 5 3 2 1 2 2 3 3 3 3 2 1 1 2 3 4 5 6 4 3 1 1 2 2 2 2 2 1 1 2 3 4 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 3 2 2 1 1 2 2 3 2 2 1 1 1 2 3 3 3 2 1 1 1 1 2 3 3 3 2 1 1 1 1 2 2 3 4 3 2 2 1 1 2 2 2 3 2 2 1 1 2 3 3 4 3 3 1 1 1 1 2 2 2 1 1 Elaborazione delle Immagini 1 2 3 4 4 1 1 1 1 1 Morfologia matematica
DT - massimi locali I massimi locali sono una rappresentazione compatta della figura Possono essere utilizzati per ricostruire la figura: è l’unione dei dischi aventi per dimensione il valore del massimo 2 2 2 4 4 4 2 3 2 3 3 3 3 1 1 2 3 Elaborazione delle Immagini Morfologia matematica
Dischi massimi La forma dei dischi dipende dall’elemento strutturante Si ottiene iterando una operazione di dilation tramite l’elemento strutturante 1 1 1 1 1 1 1 2 2 2 1 1 2 1 1 2 3 2 1 1 2 3 2 1 1 2 2 2 1 1 2 1 1 1 1 1 1 1 3 Elaborazione delle Immagini 3 3 3 1 Morfologia matematica 1 2 3
Calcolo distanza Distanza fra due punti (X, Y ) A = { X }; D = A while(YA) do A = (A K)F D = D + A done Seguendo la direzione del massimo gradiente si ottiene anche il percorso più breve (non è detto sia unico) Y X 4 4 4 3 2 1 5 5 4 3 2 1 1 6 6 6 6 5 4 3 1 1 7 7 7 4 4 2 1 8 8 5 4 3 2 1 8 9 8 7 6 5 4 3 2 1 Elaborazione delle Immagini 8 8 8 7 6 5 4 Morfologia matematica
Calcolo distanza Se A (A K)F allora Y non è raggiungibile da X F non è connesso Il metodo può essere pesante computazionalmente (si pensi ad una spirale) Elaborazione delle Immagini Morfologia matematica
Trasformata distanza pesata La distanza di ogni vicino non è unitaria ma pesata (w) Algoritmo sequenziale Scansione diretta val = mini {pi+wi} (i vicini precedenti) Scansione inversa new-val = mink {pk+wk} (k vicini successivi) Esempio (per una migliore approssimazione della distanza euclidea, si ottiene circa il doppio) Elaborazione delle Immagini 3 2 3 2 2 Morfologia matematica 3 2 3
Immagini binarie - definizioni Vicini: i vicini di un pixel sono i pixel a distanza unitaria il tipo di connessione scelto normalmente si usano due tipi di connessione 4 connessione e 8 connessione Dati due punti (p,q) di coordinate (i,j) e (h,k) la distanza è calcolata rispettivamente: d(p,q) = |i-h|+|j-k| d(p,q) = max(|i-h|,|j-k|) Elaborazione delle Immagini Morfologia matematica
Immagini binarie - definizioni Percorso: un percorso di lunghezza n da p a q è una sequenza di pixel p=p0 , p1 , .. pi, … pn=q dove pi è un vicino di pi-1 Componente connesso: un insieme è connesso se esiste un percorso fra due qualunque suoi punti Contorno: il contorno di una figura è l’insieme dei punti a distanza unitaria dallo sfondo Elaborazione delle Immagini Morfologia matematica
Scheletro Lo scheletro di F è un sottoinsieme di F con le seguenti proprietà è connesso se F è connesso ed ho lo stesso ordine di molteplicità di F ha spessore unitario è centrato in F include i massimi locali di F Elaborazione delle Immagini Morfologia matematica
23/12/2017 Paradossi topologici Il contorno di una figura secondo la 4 connessione è solo 8 connessa Il contorno di una figura secondo la 8 connessione è 4 connessa Si noti che una tassellazione esagonale non provoca paradossi 1 1 1 1 1 1 2 2 2 2 2 1 1 2 3 3 3 2 1 1 2 3 4 4 4 3 2 1 1 2 2 3 3 3 3 2 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 1 1 Elaborazione delle Immagini 1 2 2 3 2 2 1 1 1 2 3 3 3 2 1 1 Morfologia matematica 1 1 2 2 2 3 2 2 1 1 1 1 2 2 2 1 1 1 1 1 1 1