INF2310 vår 2015 - UKEOPPGAVER 6

Disse oppgavene omhandler høypassfiltrering og kantdeteksjon.

Er du ikke ferdig med forrige ukes filtreringsoppgaver? Gjør disse først!

Oppgave 1 - Implementering av Sobel-operatoren og tilhørende gradientmagnitude

Du skal i denne oppgaven implementere Sobel-operatoren og tilhørende gradientmagnitude uten å bruke noen ferdige programpakker. Bruk det programmeringsspråket du selv ønsker, men velg gjerne MATLAB.

Lag først en funksjon/metode som utfører konvolusjonen av et bilde (som er en parameter til funksjonen/metoden) og de to konvolusjonsfiltrene i Sobel-operatoren. For hvert filter skal du altså programmere at filteret flyttes rundt i alle posisjoner der filteret og bildet overlapper i minst ett piksel. For hver posisjon skal programmet ved hjelp av to for-løkker løpe gjennom alle posisjonene i naboskapet og multiplisere filterets vekt i posisjonen med den underliggende verdien i bildet (ignorer posisjoner der filterets vekt ligger over en posisjon utenfor bildet, dette tilsvarer å behandle bilderandproblemet ved bruk av nullutvidelse). Disse produktene skal adderes sammen og summen skal legges i rett posisjon i et ut-bilde. Resultatet skal være to bilder som inneholder gradientkomponenten i x-retning og gradientkomponenten i y-retning. Husk at etter konvolusjonen skal gradientkomponentene være positive for kanter der intensiteten øker oppenfra og nedover (for x-komponenten) og fra venstre mot høyre (for y-komponenten) i bildet. Husk også at ut-bildet skal ha fortegn.

Deretter skal du lage en funksjon/metode som produserer et gradientmagnitude-bilde fra de to gradientkomponent-bildene. For hver posisjon skal du altså kvadrere hver av verdiene i de to produserte bildene, summere kvadratene, beregne kvadratroten av summen og skrive resultatet i et nytt ut-bilde.

Du trenger ikke å produsere det bildet som inneholder gradientretningene (som forøvrig er gitt ved arctan(gy/gx) hvis du skulle ha lyst til å implementere dette også).

Du kan teste implementasjonen din ved bruk av bildet mona.png som ligger på ~inf2310/bilder (tilgjengelig når du er logget inn på UiO-kontoen din i Linux) og:
http://www.uio.no/studier/emner/matnat/ifi/INF2310/v14/undervisningsmateriale/bilder/mona.png

Publisert 19. jan. 2015 13:42 - Sist endret 2. mars 2015 11:16