Oppgave 1 - Erosjon og avrunding
Vi har gitt følgende binære bilde:
og følgende strukturelement:
I figurene indikerer grå forgrunn (1-ere) og hvit bakgrunn (0-ere). Strukturelementets origo er markert med en ekstra tykk cellekant.
a)
Eroder bildet med strukturelementet.
b)
Fra bildet og strukturelementet over kan vi gjøre oss noen observasjoner: Bruk disse observasjonene og resultatet av erosjonen fra deloppgaven over til å si om konvekse og konkave hjørner er avrundet eller ikke etter erosjon med et sirkulært strukturelement.
- Bildet har seks hjørner, der de fem som er på bildekanten er konvekse, mens det siste hjørnet er konkavt.
- Strukturelementet er den minste brukbare tilnærmingen til et sirkulært strukturelement.
Oppgave 2 - Region-fylling med dilasjon
I denne oppgaven skal du utføre en region-fylling av bildet til venstre under, f, ved bruk av dilasjon.
I figurene indikerer grå forgrunn (1-ere) og hvit bakgrunn (0-ere). Hvert av strukturelementenes origo er markert med en ekstra tykk cellekant.
a)
Utfør region-fyllingen ved bruk av strukturelementet S1 når du tar utgangspunkt i bildet X0 (se seksjon 9.2.2 og 9.5.2 i læreboka).
b)
Hva skjer dersom du utfører region-fyllingen ved bruk av strukturelementet S2, igjen med utgangspunkt i bildet X0? Ut-bildet skal ha samme størrelse som inn-bildet f (dette er noe som ofte gjøres i praksis, men som ikke er inkludert i mengdedefinisjonene til de morfologiske operatorene).
c)
Hvilken egenskap ved omrisset (i bildet f) er det som gjør at vi får et uønsket ut-bildet i deloppgave 2?
Oppgave 3 - Oppslagstabeller og "hit-or-miss"-transformasjonen
Istedetfor å beregne de grunnleggende morfologiske operasjonene ved bruk av definisjonene, er det mulig å lage oppslagstabeller som reduserer beregningen av hver piksels utverdi (0 eller 1) til ett enkelt oppslag. Hvordan kunne du laget en slik oppslagstabell for å beregne "hit-or-miss"-transformasjonen av vilkårlige, binære bilder med et spesifikt strukturelement S = [S1, S2] av størrelse 3x3 ("hit-or-miss"-transformasjonen er omtalt i seksjon 9.4 i læreboka).
Hint: Oppslagstabellen som denne oppgaven omtaler vil generelt ha størrelse 512.
Oppgave 4 - Oppgaver fra læreboka
Gjør følgende oppgaver i læreboka:
- 9.6,
- 9.7, detaljtips til deloppgave a: hva skjer dersom strukturelementet er en linje, dvs. har en (muligens rotert) side som bare er én piksel bred?,
- 9.8, i forbindelse med deloppgave b så svarer du også på hva som er det største bildet du kan starte med for at svaret fra deloppgave a skal holde,
- 9.17, med "just large enough" menes her at B vil inneholde hele støyobjektet og minst én ikke-støy-piksel,
- 9.18,
- 9.19,
- 9.21a-b, ("hole filling" er det vi kalte region-filling i forelesningen), her kan du for enkelhetens skyld anta at inn-bildet kun består av omrisset til ett objekt og at ingen av omrissets piksler ligger på bildekanten, men at vi begrenser hvert dilasjonsresultat av bilderammen til inn-bildet,
- 9.22,
- 9.27.
Oppgave 5 - Morfologiske operasjoner i Matlab/Python
Matlab har funksjoner for de fleste morfologiske operatorene, f.eks. imerode, imdilate, imopen og imclose. I Python har vi mange valg, men både scikit-image, scipy og opencv har (mer eller mindre overlappende) støtte for de mest vanlige morfologi-operasjonene:
OpenCV: http://docs.opencv.org/trunk/d9/d61/tutorial_py_morphological_ops.html
Scikit-image: http://scikit-image.org/docs/dev/api/skimage.morphology.html
Scipy: https://docs.scipy.org/doc/scipy-0.18.1/reference/ndimage.html#morphology
Eksperimenter med de nevnte funksjonene ved bruk av bildet numbers.png. Hvilken operasjon (her blir dette hvilken kombinasjon av operator og strukturelement) er best for å lenke sammen de fragmenterte symbolene og tette igjen hull i symbolene? Hvilken operasjon er best til å fjerne støyen?