Oppgave 1 - Oppgave 3.6 i DIP
Forklar hvorfor man ved bruk av diskret histogramugjevning generelt ikke får et helt flatt histogram.
Oppgave 2 - Praktisk histogramutjevning
Utfør diskret histogramutjevning "manuelt" til 8 gråtoner på bildeutsnittet nedenfor.
1 1 1 4 4 4 4 3
1 1 1 2 2 3 2 2
1 1 1 4 4 2 4 0
1 1 1 2 3 3 4 0
1 1 1 2 1 4 4 3
4 1 2 1 1 1 1 1
4 4 4 1 1 1 1 1
4 2 4 3 2 4 4 0
Oppgave 3 - Programmering av histogramutjenving
Programmer et Matlab- eller Python-program som leser inn et 8 bits png-bilde [benytt imread(.)-kommandoen] og utfører histogramutjevning. Kjør programmet med car.png som inputbilde og se om resultatet blir likt eksemplet fra forelesningen.
Oppgave 4 - Konvolusjon og histogramutjevning
Konvolusjon, som skal foreleses senere i kurset, kan resultere i at vi får en svart kant rundt bildet, altså at det blir dannet en ramme av sorte piksler. Hvilke utslag vil et slikt ekstra lag av sorte piksler kunne gi ved histogramutjevning?
Oppgave 5 - Sanntidseksperimentering med histogramtransformasjoner **
Benytt den interaktive Java-appleten under http://www.imageprocessingbasics.com/image-histogram-equalization/ til å eksperimentere med å tegne egne histogram-spesifikasjoner. Studer selve bilde-resultatet, samt hvordan det resulterende histogrammet og det kumulative histogrammet ser ut.
Oppgave 6 - Programmering av histogramtilpasning
Lag en Matlab- eller Python-implementasjon av histogramtilpasning til et vilkårlig histogram basert på fremgangsmåten forklart på lysark s. 15.
Oppgave 7 - Oppgave 3.12 i DIP
Forklar hvordan man kan oppdatere histogrammene ved lokale gråtonetransformer (i steden for å regne ut helt nytt histogram for hvert vindu).
Oppgave 8 - (Ekstraoppgave / om tid) Histogramutjevning i det kontinuerlige tilfellet
Anta at vi har et histogram som kan tilnærmes med den kontinuerlige funksjonen
f(i) = -i/2+1, 0<=i<=2
Hva er transformfunksjonen, T(i), som vil gi et histogram-utjevnet bilde? I tillegg til å finne T, tegn (eller plot) både f og T, og prøv å gi en muntlig forklar på sammenhengen.
Oppgave 9 - Eksperimentering med lokale gråtonetransformer (**)
Om du har tid og tålmodighet, benytt Java-appleten under http://www.imageprocessingbasics.com/local-graylevel-mapping/ til å gjøre deg kjent med parametrene i de lokale gråtonetransformene vi har snakket om på forelesningen.
** Merk: Se Ukeoppgaver 1 ang. disse Java-appletene.