IN2070 vår 2021 - UKEOPPGAVER 12

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.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?

Publisert 13. jan. 2021 07:55 - Sist endret 19. mai 2021 00:38