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.9,
- 9.10, detaljtips til deloppgave a: hva skjer dersom strukturelementet er en linje, dvs. har en (muligens rotert) side som bare er én piksel bred?,
- 9.11, 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.23, med "just large enough" menes her at B vil inneholde hele st?yobjektet og minst én ikke-st?y-piksel,
- 9.26,
- 9.33a-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.
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?