Morfologi i Binære Bilder III Lars Vidar Magnusson March 28, 2017 Delkapittel 9.5 Some Basic Morphological Algorithms
Boundary Extraction (Grenseuthenting) Vi kan hente ut grensen til et sett (boundary) ved hjelp av boundary extraction (grenseuthenting).
Boundary Extraction (Grenseuthenting) Vi kan hente ut boundary ved hjelp av to enkle morfologiske operasjoner. β(a) = A (A B) hvor B er et passende SE. Det valgte strukturerende element kontrollerer hvordan grensen blir. Det er vanlig å bruke et 3 3 SE (gir grense på 1 og 2 pixels) Større kvadratiske filtre gir bredere grense Andre former er også mulig
Et Enkelt Eksempel Vi utfører operasjonen på et enkelt eksempel. A B
Et Enkelt Eksempel Under har vi resultatet av erosjonen på venstre og det endelige resultatet til høyre. A B β(b)
Et Annet Enkelt Eksempel Vi utfører operasjonen på det samme settet men med et annet SE. A B
Et Annet Enkelt Eksempel Under har vi resultatet av erosjonen på venstre og det endelige resultatet til høyre. A B β(b)
Hole Filling (Hullfylling) Vi kan også bruke morfologiske operasjoner for å utføre hole filling (hullfylling).
Hole Filling (Hullfylling) Hullfylling er litt mer komplisert enn boundary extraction. Boka definerer problemet som å utfylle hull i 8-connected grenser, gitt i et inputsett A. 1 Vi lager en array X 0 som er av samme størrelse som arrayen med inputsettet. 2 Lager et seed (frø) i hvert av hullene vi vil fylle 3 Finner X k i følge ligningen gitt under X k = (X k 1 B) A c k = 1, 2, 3,... 4 Finner utfylt resultat ved å kombinere X k og A i.e. A X k
Hole Filling (Hullfylling) Metoden fungerer ved at vi vokser regioner utifra gitte frø. Ville vokst uendelig hvis det ikke var for at vi begrenser området med A c A c begrenser derfor utvidelsen Metoden kan derfor beskrives som conditional dilation (begrenset utvidelse) Merk Metoden definerer ikke hvordan vi finner k
Et Enkelt Eksempel Vi utfører operasjonen på et enkelt eksempelsett og med et passende SE. Vi har også tatt med A c for å hjelpe med visualiseringen. A A c B
Et Enkelt Eksempel Etter 4 iterasjoner kommer vi frem til følgende.. A X 4 A X 4
Hvordan Finne k Metoden definerer ikke hvordan vi stopper. Så hvordan hvordan finner vi k? En løsning er gitt i eksempelkoden.
Thinning (Tynning) Thinning (tynning) minker et sett ned til et minimalt sett Beholder ekstremkoordinatene Operasjonen kan defineres som en rekke med hit-or-miss transformasjoner. A B = A (A B) = A (A B) C Vi trenger ikke utføre bakgrunnsmatching på de strukturerende elementene. Dette forenkler hit-or-miss til bare ett steg Merk Boka forenkler for mye
Thinning (Tynning) Følgende sett med SEr er et vanlig alternativ for tynning. {B} = {B 1, B 2, B 3, B 4, B 5, B 6, B 7, B 8 } B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 Merk Vi må matche både forgrunns- og bakgrunns-elementer
Thinning (Tynning) B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 Tynningen blir utført ved å utføre operasjonen på hvert av de strukturerende elementene i sekvens. A {B} = ((... ((A B 1 ) B 2 )... ) B 8 ) Sekvensen blir gjentatt til ingen flere endringer forekommer
Et Enkelt Eksempel Vi utfører tynning på følgende sett. A
Et Enkelt Eksempel Etter et par iterasjoner gjennom {B} får vi følgende... A A {B}