Bildene til oppgavene under finnes under http://www.uio.no/studier/emner/matnat/ifi/INF2310/v14/undervisningsmateriale/bilder/
Oppgave 1 - Konvolusjonsteoremet
- Formuler konvolusjonsteoremet med ord.
- Hvordan kan vi (rent praktisk) bruke 2D DFT-en til et konvolusjonsfilter til ? finne hvilke frekvenser filteret demper og hvilke det bevarer?
- Hvordan gir konvolusjonsteoremet oss muligheten til ? designe konvolusjonsfiltre med bestemte frekvensegenskaper? Hvorfor b?r filtrene vi designer i Fourier-domenet v?re konjugert symmetriske? Hvilke kriterier er det naturlig ? ha for intervallet til realdelverdiene og verdien av imagin?rdelene dersom vi skal designe enkle konvolusjonsfiltre i Fourier-domenet?
- Under ser du Fourier-spektrene til konvolusjonsfiltrene [1 2 1]T og [1 0 -1] etter de er nullutvidet til en st?rrelse p? 200x200 (T indikerer den transponerte). Fremvisningen er slik at DC, (0,0)-frekvensen, er midt i bildet og lyst indikerer h?y verdi mens m?rkt indikerer lav verdi. Hvilke konvolusjonsfiltre og Fourier-spektre h?rer sammen? Begrunn.
- Hvis vi multipliserer de to nullutvidede filtrenes 2D DFT-er element for element, s? f?r vi en 2D DFT som har magnitudebildet som er vist under. Hvilket konvolusjonsfilter er dette Fourier-spekteret til?
Oppgave 2 - Design av filtre i Fourier-domenet: Ideelle filtre
- Lag et lavpassfilter H1 av st?rrelse PxQ som er 0 for alle frekvenser (u,v) lengre enn en gitt terskel D0 fra DC, og 1 ellers. Sett P=Q=512 og D0=0,2, og visuelt ansl? at det resulterende filteret har omtrent 50 ikke-null elementer langs aksene p? hver side av DC. Tips: Ta gjerne utgangspunkt i eksempelet p? s. 20 i forelesningsnotatet.
- Beregn 2D IDFT av filteret H1 og visualiser imagin?rdelen av resultatet. Det er fordi filteret er reelt og symmetrisk i Fourier-domenet at denne imagin?rdelen er 0. I praksis kan imagin?rdelen av resultatet inneholde sm? ikke-null verdier dersom man bruker upresis flyttallsaritmetikk (som MATLAB gj?r), pga. dette bruker vi i praksis kun realdelen til resultatet n?r vi vet at imagin?rdelen skal v?re 0 (som generelt er n?r filteret/bildet er konjugert symmetrisk i Fourier-domenet). Tips: Husk at ifft2-kommandoen antar at DC har koordinat (1,1). Hint: Dersom imagin?rdelen av resultatet inneholder store ikke-null verdier betyr det at H1 ikke oppfyller symmetriegenskapen; se s. 20 i forelesningsnotatet for implementasjonstips og forklaring.
- Visualiser det romlige representasjonen av filteret H1. Hvilken egenskap ved filteret H1 (i Fourier-domenet) for?rsaker den s?kalte "ringingen" i den romlige representasjonen?
- Lag lavpassfilteret H2 som er likt som filteret H1 med unntak av at D0=0,4. Visualiser den romlige representasjonen av filteret H2 og forklar hvorfor dette filteret vil b?de utjevne mindre og gi mindre markant ringing dersom det konvolveres med et gr?tonebilde, sammenlignet med ? konvolvere den romlige representasjonen av filteret H1 og bildet.
- Last inn bildet car.png. Filtrer bildet med filtrene H1 og H2, og behandl bilderandproblemet med nullutvidelse. Sammenlign de to filtrerte resultatene i bildedomenet, med hverandre og med originalbildet. Hint: H1 og H2 er definert slik at de ikke trengs og nullutvides - det er tilstrekkelig ? nullutvide bildet til samme st?rrelse (512x512) for ? unng? wraparound-feil. fft2-kommandoen kan gj?re nullutvidelsen for deg ved at du spesifiserer hvilken st?rrelse det nullutvidede bildet skal ha; fft2(im, M, N) der M og N er henholdsvis antall rader og kolonner. Bildet blir da utvidet ved ? legge til 0-er p? slutten av bildet, en detalj du trenger ? vite n?r du etter ? ha beregnet 2D IDFT skal forminske bildet ved ? fjerne pikslene inn-bildet ble utvidet med.
- Et h?ypassfilter i Fourier-domenet kan defineres som 1 minus et lavpassfilter i Fourier-domenet (se s. 27 i forelesningsnotatet). Utf?r filtreringene i punkt e med h?ypassfiltrene som er definert ut fra lavpassfiltrene H1 og H2. Sammenlign de to h?ypassfiltrerte resultatene i bildedomenet og merk at ringingen er mest markant for det h?ypassfilteret som tilsvarer lavpassfilteret med mest markant ringing.
- Ved ? addere HHP(u,v) p? begge sider av likhetstegnet i likningen HLP(u,v) = 1-HHP(u,v), ser vi at summen av et lavpassfilter og det tilh?rende h?ypassfilteret er 1 i alle elementer. Ved ? anvende line?ritetsegenskapen til 2D DFT, egenskap 2 i tabell 4.3 i DIP (s. 254), og konvolusjonsteoremet f?r vi at f(x,y) = gLP(x,y) + gHP(x,y) der f er det opprinnelige gr?tonebildet, og gLP og gHP er det samme bildet konvolvert med henholdsvis et lavpassfilter og det tilh?rende h?ypassfilteret. Hvordan kan denne sammenhengen benyttes til ? forklare sammenhengen i punkt f; h?ypassfilteret med mest markant ringing tilh?rer lavpassfilteret med mest markant ringing.
Oppgave 3 - Design av filtre i Fourier-domenet: Praktisk eksempel
Last inn bildet tekna133.png. Bildet er hentet fra f?rste utgave av Teknas studentmagasin i 2012 og skannet med oppl?sningen som DIP oppgir (p? s. 234) som typisk for magasiner; 133 dpi. St?yen p? bildet danner et m?nster som kalles Moiré-m?nster (les mer p? s. 233-235 i DIP). Slik st?y vil forekomme n?r man skanner de aller fleste normale utskrifter. Figur 4.64 i DIP, som er vist ved flere anledninger i forelesningene, er for?vrig et annet eksempel p? et bilde med Moiré-m?nster.
- Studer Fourier-spekteret til bildet i seg selv og etter nullutvidelse til dobbel st?rrelse i hver retning. For?rsaker periodisitetsantagelsen eller nullutvidelsen st?rst bidrag langs u- og v-aksene? Hvorfor?
- Finn de fire parene av frekvenser som st?yen hovedsakelig best?r av, b?de for det originale og for det nullutvidede bildet. Hint: Let etter topper i Fourier-spekteret blant de h?yere frekvensene. Magnituden til en frekvens i det nullutvidede bildet er lik magnituden til den halve frekvensen i originalbildet.
- Filterer originalbildet med et notch-stoppfilter med Butterworth-overganger av orden n=2 og med cut-off D0=0,1 (alternativt vba. tilh?rende cut-off-frekvens, D0N/2 = 11,05). Sammenlign det filtrerte bildet (i bildedomenet) med originalbildet. Er st?yen hovedsakelig fjernet? Finner du visuelt synlig wraparound-feil i det filtrerte bildet? Ser du ringing ogs?? Hint: Se likning (4.10-5) p? side 295 i DIP.
- Filterer det nullutvidede bildet med et notch-stoppfilter med Butterworth-overganger av orden n=2 og med cut-off D0=0,1 (alternativt vba. tilh?rende cut-off-frekvens, D0N/2 = 22,1). Sammenlign Fourier-spektrene til det filtrerte originalbildet fra punkt c og dette filtrerte nullutvidede bildet, og verifiser at de anvendte filtrene er tilsvarende mhp. orden (overgang) og cut-off (st?rrelse) relativt til sitt Fourier-spekter. Sammenlign de filtrerte bildene (i bildedomenet) som ble laget med og uten nullutvidelsen. Verifiser at wraparound-feil ikke lenger er til stede i det filtrerte bildet som ble laget med nullutvidelsen, men at dette bildet har samme ringing. Forklar hva som er ?rsaken til den nye visuelt synlige feilen i dette bildet.
- De filtrerte bildene i de to foreg?ende punktene hadde hver sin feil (utenom ringing, som de begge hadde). Hvordan kan vi (omtrentlig) unng? begge disse individuelle feilene samtidig? Utf?r filtreringen og vurder resultatet.
Oppgave 4 - Analyse av konvolusjonsfiltre
Velg endel kjente konvolusjonsfiltre, nullutvid dem til en passende st?rrelse for et bilde og visualiser Fourier-spektrene til de nullutvidede filtrene. Forklar overordnet hvorfor hvert Fourier-spekter ser ut som det gj?r og bruk det til ? beskrive det tilh?rende konvolusjonsfilterets effekt (n?r det brukes til konvolusjon). Bruk gjerne konvolusjonsfiltrene og Fourier-spektrene p? s. 31-33 i forelesningsnotatet. Nullutvid noen konvolusjonsfiltre til flere st?rrelser og merk at den overordnede strukturen forblir identisk.
Oppgave 5 - Aliasing
Last inn bildet forresampling.png og studer dets Fourier-spekter. Dann en mengde med nedsamplede bilder hvor du velger ut hvert d-te piksel for d=1,2,3,4. Studer bildene visuelt og legg merke til den tydelige aliasingen i bildene n?r d er st?rre enn 2. Studer bildenes Fourier-spektre og legg merke til de stadig tydeligere "falske" frekvensene n?r stadig flere markante frekvenser i originalbildet ikke lenger kan representeres med den gitte samplingsfrekvensen. Du kan finne det nyttig ? repetere samplingsteoremet og aliasing fra andre forelesning; Sampling og kvantisering. Tips: I MATLAB kan du enkelt hente ut hvert d-te piksel i matrisen f ved ? bruke fd = f(1:d:end,1:d:end).
Oppgave 6 - Vindusfunksjoner og Fourier-spektre
Last inn bildet lena.png. Generer et 2D Tukey-vindu med samme st?rrelse som bildet og med alpha lik 0.5 (se s. 47 i forelesningsnotatet eller bruk tukeywin-kommandoen). Inspiser vindusfunksjonen visuelt. Studer Fourier-spekteret til bildet b?de med og uten bruk av vindusfunksjonen (en vindusfunksjon brukes i bildedomenet ved ? punktmultiplisere den med bildet). Verifiser at bidragene langs aksene er redusert og forklar hvorfor.