A+K
Transcript
A+K
Morfologia matematica Morfolog ia binaria Morfolog ia a toni di g rig io Tras formata dis tanza Definizioni preliminari • • • • A ⊆ En, t ∈En Traslazione di A rispetto ad un vettore t At = { c∈En | c=a+t, a∈A } Riflessione di A Ar= { c | c=-a, a∈A } Complemento di A Ac = En -A A A(2,1) Ar Le operazioni e definizione sugli insiemi sono date per note Visione Artificiale 10/11 Morfologia matematica 2 Somma di Minkowski (Dilation) • A⊕B = { c∈En | c=a+b, a∈A, b∈B } • A⊕B = U Ab , b∈B – Si dimostra facilmente: A⊕B = B⊕A B= { (0,0), (1,0) } A A(0,0) Visione Artificiale 10/11 A(1,0) Morfologia matematica A⊕B 3 Dilation L’insieme B viene normalmente definito elemento strutturante B= {(-1,0), (1,0) } A A(-1,0) Visione Artificiale 10/11 Morfologia matematica A(1,0) A⊕B 4 Dilation Visione Artificiale 10/11 Morfologia matematica 5 Erosion (Differenza di Minkowski) • AΘB = { c∈En | c+b∈A, per ogni b∈B } • AΘB = ∩ A-b b∈B Θ→O A A(-1,0) Visione Artificiale 10/11 Morfologia matematica B= { (0,0), (1,0) } A-B 6 Erosion Visione Artificiale 10/11 Morfologia matematica 7 Proprietà • Se l’origine (0,0) appartiene all’elemento strutturante – (AΘB) ⊆ A ⊆ (A⊕B) Visione Artificiale 10/11 Morfologia matematica 8 Erosion Erosion Visione Artificiale 10/11 Morfologia matematica Dilation 9 Proprietà (A+B)+C=A+(B+C) (A∪B)+C=(A+C)∪(B+C) A+B= ∪Ab (A-B)-C=A-(B+C) (A ∩ B)-C=(A-C) ∩(B-C) A-B= ∩ A-b A⊆B⇒(A+C)⊆ (B+C) A⊆B⇒(A-C)⊆ (B-C) (A∩B)+C⊆ (A+C)∩(B+C) (A∪ B)-C⊇ (A-C) ∪(B-C) A+(B∪C)=(A+B)∪(A+C) A-(B∪C)=(A-C)∩(B-C) (A+B)c=Ac -Br A+Bt=(A+B)t A-Bt=(A-B)-t A-(B∩C)⊇(A-C)∪(B-C) Per semplicità di notazione si è usato +e- per gli operatori Erosion e Dilation Visione Artificiale 10/11 Morfologia matematica 10 Closing • C(A, K) = (A+K)-K = A•K – A⊆C(A,K)=C(C(A,K),K) K A A+K (A+K)-K Visione Artificiale 10/11 Morfologia matematica 11 Closing • C(A, K) = (A+K)-K K A A+K (A+K)-K Visione Artificiale 10/11 Morfologia matematica 12 Closing • C(A, K) = (A+K)-K K A A+K (A+K)-K Visione Artificiale 10/11 Morfologia matematica 13 Closing K A A+K (A+K)-K Visione Artificiale 10/11 Morfologia matematica 14 Closing Visione Artificiale 10/11 Morfologia matematica 15 Opening • O(A, K) = (A-K)+K = A°K – O(O(A,K),K)=O(A,K)⊆A K A A-K (A-K)+K Visione Artificiale 10/11 Morfologia matematica 16 Opening • O(A, K) = (A-K)+K K A A-K=∅=(A-K)+K Visione Artificiale 10/11 Morfologia matematica 17 Opening • O(A, K) = (A-K)+K K A A-K (A-K)+K Visione Artificiale 10/11 Morfologia matematica 18 Opening Visione Artificiale 10/11 Morfologia matematica 19 Opening e closing Visione Artificiale 10/11 Morfologia matematica 20 Esempio Visione Artificiale 10/11 Morfologia matematica 21 Hit or Miss • A⊗(J,K) = (A-J)∩(Ac-K) – con il vincolo J∩K=∅ • Permette di trovare strutture regolari (template matching) – Dilation e erosion possono essere considerati come casi particolari Visione Artificiale 10/11 Morfologia matematica 22 Esempio • Ricerca di punti isolati (8-connessi) – A-J=A J A Ac Risultato finale Ac-K Visione Artificiale 10/11 K Morfologia matematica 23 Esempio • Ricerca di punti isolati (4-connessi) J A Ac-K Visione Artificiale 10/11 Morfologia matematica Ac K Risultato finale 24 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 Visione Artificiale 10/11 Morfologia matematica 25 Hit or Miss - Esempio Pixel compatibili con la maschera di background Visione Artificiale 10/11 Morfologia matematica Pixel compatibili con la maschera per l’immagine 26 Estrazione di contorni • Edge(A) = A – (AΘB) B Edge(A) A Visione Artificiale 10/11 Morfologia matematica 27 Estrazione di contorni Visione Artificiale 10/11 Morfologia matematica 28 Riempimento di regioni • Xk = (Xk-1 ⊕ B)∩AC • X0 = p • Il procedimento termina quando Xk == Xk-1 X B X0 A Visione Artificiale 10/11 Morfologia matematica 29 Componenti connesse Visione Artificiale 10/11 Morfologia matematica 30 Convex hull Visione Artificiale 10/11 Morfologia matematica 31 Esercizi 1) Eliminare i conduttori sottili 2) Congiungere i conduttori vicini 3) Trovare le componenti connesse 4) Trovare il convex hull di ogni componente Visione Artificiale 10/11 Morfologia matematica 32 Umbra (estensione alle immagini gray scale) • A ⊆ En, F⊆En-1, x∈F, y∈E • Top di un insieme A (T[A]:F→E): T[A](x) = max { y | (x, y) ∈ A } • Umbra di f (f:F→E): U[f] = { (x, y) ∈ F x E | y ≤ f(x) } – T[A] ⊆ A ⊆ U[A] ⊆ En – U[U[A]] ≡ U[ A] Insieme A Visione Artificiale 10/11 Top di A Morfologia matematica Umbra di A 33 Umbra • Si noti che data una funzione f:R2R si può facilmente definire una nuova funzione f:R3{0, 1} equivalente – g(x, y, z) = 1 ⇔ z ≤ f(x, y) ⇔ z ∈ U[f(x, y)] – g(x, y, z) = 0 ⇔ z > f(x, y) ⇔ z ∉ U[f(x, y)] • Posso cioè ricondurre la morfologia a toni di grigio alla morfologia matematica in uno spazio a 3 dimensioni Visione Artificiale 10/11 Morfologia matematica 34 Gray scale dilation • Dati: F,K⊆En-1 , f:F→E, k:K→E – F,K⊆R2 , f:F→R, k:K→R (nel caso delle immagini) • • Si definisce dilation di f tramite k (f ⊕k)(x) = max{f(x-z)+k(z) | z∈K, x-z∈F} Dal punto di vista computazionale la complessità è equivalente ad una convoluzione Visione Artificiale 10/11 Morfologia matematica 35 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 0 1 2 3 4 5 6 7 8 Visione Artificiale 10/11 f 1 3 5 3 5 6 5 Morfologia matematica k 0 1 0 f⊕k 1 3 5 6 5 6 7 6 5 36 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 -1 0 1 2 3 4 5 6 7 Visione Artificiale 10/11 f 1 3 5 3 5 6 5 Morfologia matematica k -1 0 -1 f⊕k 0 2 4 5 4 5 6 5 4 37 Esempio - dilation k f U[f] U[f]⊕U[k] Visione Artificiale 10/11 U[k] Morfologia matematica f⊕k = T[U[f]⊕U[k]] 38 Esempio - dilation Visione Artificiale 10/11 Morfologia matematica 39 Gray scale erosion • • • Dati: F,K⊆En-1 , f:F→E, k:K→E Si definisce erosion di f tramite k (fΘk)(x) = min{f(x+z)-k(z) | z∈K, x+z∈F} Si dimostra che una definizione equivalente è: fΘk = T{U[f]ΘU[k]} Visione Artificiale 10/11 Morfologia matematica 40 Esempio - erosion • (fΘk)(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 -1 0 1 2 3 4 5 6 7 Visione Artificiale 10/11 f 1 3 5 3 5 6 5 Morfologia matematica k -1 0 -1 f-k 2 4 3 4 6 41 Esempio - erosion Visione Artificiale 10/11 Morfologia matematica 42 Esempio - opening Visione Artificiale 10/11 Morfologia matematica 43 Esempio - closing Visione Artificiale 10/11 Morfologia matematica 44 Esempi di operatori Ripreso da Visione Artificiale 10/11 Morfologia matematica 45 Esempi Erosion Closing Visione Artificiale 10/11 Dilation Opening Morfologia matematica 46 Esempi • Gradiente morfologico – G = (f⊕b) – (fΘb) • Top-hat transformation – H = f – O(f,b) Gradiente morfologico Visione Artificiale 10/11 Se bi=0 ∀i il gradiente morfologico è la differenza fra il massimo locale e il minimo locale Morfologia matematica 47