INF2310 v?r 2020 - UKEOPPGAVER 10

Morfologi p? bin?re bilder

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.

  1. Bildet har seks hj?rner, der de fem som er p? bildekanten er konvekse, mens det siste hj?rnet er konkavt.
  2. 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?

Publisert 14. jan. 2020 21:48 - Sist endret 17. apr. 2020 13:31