Oppgave 1 - Histogrammer
Anta at vi har et 512 x 512 bilde med 256 trinn i gr?toneskalaen. Bildet inneholder i utgangspunktet bare en "bakgrunn" med en klar trend, slik at intensiteten ?ker trinnvis fra venstre til h?yre kant i bildet, og slik at bakgrunnsintensiteten er 100 i hele venstre kant av bildet mens den er 163 i hele h?yre kant av bildet.
- Forklar og skisser hvordan histogrammet og det normaliserte histogrammet for et slikt bilde ser ut.
- Anta n? at en m?rk tekst legges opp? denne bakgrunnen. Tekst-pikslene dekker 1/4 av bildet, og hvert tekst piksel har en gr?tone som er 25 gr?tonetrinn lavere enn den lokale bakgrunnen. Forklar og skisser hvordan histogrammet ser ut for bildet med bakgrunn pluss tekst.
Oppgave 2 - Programmering av histogramfunksjon
I Matlab kan man f? tilgang til et bildes histogram ved bruk av f.eks. funksjonene imhist og hist (h = hist(bilde(:), 0:255);). Programmer ved hjelp av for-l?kker din egen versjon av histogramfunksjonen. Du kan anta at vi har heltallige pikselverdier mellom 0 og 255.
Oppgave 3 - Line?r gr?tonetransform
Anta at et bilde har middelverdi lik 100 og varians lik 400, alts? μ = 100 og σ^2 = 400.
- Hvis bildet var lagret som et 8-bits helltallsbilde, hva ville du kunne si om "lysheten/m?rkheten" og kontrasten til bildet? Hint: Hva er bildets standardavvik, sigma? Anta at histogrammet likner en Gauss-funksjon (har klokkeform), og skisser histogrammet.
- Hvis hovedvekten av pikselene l? i intervallet [50,150] og du ville benytte en line?r transform for ? maksimere kontrasten i dette intervallet, og bildet skulle lagres som 8-bit, hva ville koeffisientene i transformen v?re?
- Hvis bildet blir sendt igjennom gr?tonetransformen: g(x,y) = 2*f(x,y) + 10, hva blir det transformerte bildets middelverdi og varians?
- Hvis jeg ?nsker at bildet skal ha μ = 128 og σ = 64, hvilken line?r transform ville jeg benyttet?
- Hvis bildet hadde et tiln?rmet Gaussisk (normalfordelt) histogram, og jeg skulle lagre bildet som 10-bits heltallsverdier, hvilken line?r transform ville du valgt om kun ca 5% av pikslene kunne godtas bli klipt?
Oppgave 4 - Programmering av line?r gr?tonetransform
Programmer et Matlab-program som utf?rer en line?r gr?tonetransform slik at bildets middelverdi og standardavvik blir endret til satte parametre, henholdsvis m_t og sigma_t. Pr?v programmet med flere forskjellige input-parametre. Studer resultatbildenes histogrammer.
Oppgave 5 - Ikke-line?re transformer
- Tegn og forklar hvordan de f?lgende gr?tonetransformene endrer kontrasten i bildet: Logaritmisk, eksponentiell og kvadratrotskalering.
- Anta at et bildes piksler hovedsakelig best?r av lavintensitets-piksler, og spredningen mellom histograms?ylene ?kte med ?kt intensitet. Hvilken av de nevnte transformene ville du benyttet for ? gj?re kontrasten i bildet bedre om vi visuelt skulle tolke bildet?
- Hvis skjermen din har en sammenheng mellom pikselverdier og visningsintensitet som beskrevet i ligning (3.2-3) med gamma=5, hvilken gr?tonetransform ville kunne kompensert for denne avbildningsfeilen?
Oppgave 6 (st?tteoppgave) - Sanntidseksperimentering med gr?tonetransformasjoner
Benytt den interaktive Java-appleten under http://www.imageprocessingbasics.com/image-graylevel-transforms/ til ? eksperimentere med gr?tonetransformer. Gj?r deg kjent med effektene av parametervalgene i spesielt de line?re transformene.
** Merk: Se Ukeoppgaver 1 ang. disse Java-appletene.