Repetisjonsforelesning før midtveiseksamen INF2310 våren 2016 Oppsummering av forelesning 4 og 5, gråtonetransformasjoner og histogramtransformasjoner. Ole Marius Hoel Rindal Hvordan endre kontrasten i et bilde? 09.02.2016 INF2310 2 Hva er kontrast? • Det er flere mulige definisjoner av dette begrepet. • De fleste er variasjoner over temaet – differanse/gjennomsnitt – som kan anvendes på mange fysiske egenskaper – Her holder vi oss til luminositet. • Weberkontrast (”Weber fraction”) • Michelsonkontrast (”Visibility”) • RMSkontrast 3 INF2310 09.02.2016 1 0 1 0 2 ) , ( 1 N x M y I y x I MN ) ( ) ( min min I I I I Max Max b b I I I ) ( Gråtonehistogrammer • Gitt et gråtonebilde med nm piksler og G gråtoner • Et histogram, h(i), er slik at: h(i) = antall piksler i bildet med pikselverdi i • Dannes ved å gå igjennom alle pikslene og telle gråtoner • Vi har naturligvis at 1 0 ) ( G i m n i h 4 INF2310 09.02.2016
13
Embed
kontrast? Gråtonehistogrammer...– Hvis flere q gir sam me match, velg den minste. • Kombiner så de de t o transformene T og G 1 til en n y mapping. – Alternativt f ørst histogramutjevn
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Repetisjonsforelesning før midtveiseksamen INF2310
våren 2016
Oppsummering av forelesning 4 og 5, gråtonetransformasjoner og histogramtransformasjoner. Ole Marius Hoel Rindal
Hvordan endre kontrasten i et bilde?
09.02.2016 INF2310 2
Hva er kontrast?
• Det er flere mulige definisjoner av dette begrepet.
• De fleste er variasjoner over temaet – differanse/gjennomsnitt
– som kan anvendes på mange fysiske egenskaper
– Her holder vi oss til luminositet.
• Weberkontrast (”Weber fraction”)
• Michelsonkontrast (”Visibility”)
• RMSkontrast
3 INF2310 09.02.2016
1
0
1
0
2),(
1 N
x
M
y
IyxIMN
)()(
min
min
IIII
Max
Max
b
b
III )(
Gråtonehistogrammer
• Gitt et gråtonebilde med nm piksler og G gråtoner
• Et histogram, h(i), er slik at: h(i) = antall piksler i bildet med pikselverdi i
• Dannes ved å gå igjennom alle pikslene og telle gråtoner
• Vi har naturligvis at
1
0
)(G
i
mnih
4 INF2310 09.02.2016
Eksempel histogram
Bilde: Histogram:
1 3 2 1
5 4 5 3
4 1 1 2
2 3 2 1 1 2 3 4 5
Pikselverdi #
pik
sler
i
h(i)
5 INF2310 09.02.2016
Eksempler
6 INF2310 09.02.2016
Normalisert histogram
• Vi har at
• Det normaliserte histogrammet er:
• p(i) kan ses på som en sannsynlighetsfordeling for pikselverdiene i – ”Uavhengig” av antall piksler i bildet
• Man kan si en del om bildet ut fra denne sannsynlighetstetthetsfunksjonen
1
0
)(G
i
mnih
1
0
1)(,)(
)(G
i
ipmnih
ip
7 INF2310 09.02.2016
Kumulativt histogram
• Hvor mange piksler har gråtone mindre enn eller lik gråtone j?
• Normalisert kumulativt histogram:
(Sannsynligheten for at en tilfeldig piksel har gråtone mindre eller lik j)
j
i
ihjc0
)()(
mn
jc
)(
8 INF2310 09.02.2016
Eksempel, kumulativt histogram
Histogram og kumulativt histogram i samme figur
9 INF2310 09.02.2016
Lineær avbilding
• Lineær strekking
• a regulerer kontrasten, og b ”lysheten”
• a>1: mer kontrast
• a<1: mindre kontrast
• b : flytter alle gråtoner b nivåer
• ”Negativer”: a=-1 , b = maxverdi for bildetype
byxfayxg ),(),(
biaiT ][
10 INF2310 09.02.2016
Endre ”lysheten” (brightness)
• Legge til en konstant b til alle pikselverdiene
– Hvis b > 0 , alle pikselverdiene øker, og bildet blir lysere
– Hvis b < 0 , bildet blir mørkere
– Histogrammet flyttes opp eller ned med b
– Middelverdien endres!
byxfyxg ),(,
f
h(f)
g
h(g
)
11 INF2310 09.02.2016
Endre kontrasten
• Multiplisere hver pikselverdi med en faktor a:
– Hvis a > 1, kontrasten øker
– Hvis a < 1, kontrasten minker
• Eks: Bruke hele intensitetsskalaen
• Q: Hva skjer med middelverdien?
),(, yxfayxg
f
h(f)
g
h(g
)
12 INF2310 09.02.2016
Alternativ illustrasjon
• Endre ”brightness”:
• Endre kontrast:
13 INF2310 09.02.2016
byxfyxg ),(,
f
),(, yxfayxg
f
g
g
Fra gråtonenivå [f1,f2] til [g1,g2]
• Endre intervallet [f1, f2] til å bli [g1,g2]
• En lineær mapping fra f til g :
– Rett linje med stigningstall
a=(g2-g1)/(f2-f1)
g g2 g1
f1 f2 f
12
12
ffgg
a 112
121 ),(, fyxf
ffgg
gyxg
14 INF2310 09.02.2016
Klipping etter transform
• Om g(x,y) får verdier utenfor det støttede intervallet, foretas som oftest klipping av verdiene
• F.eks vil et unsigned byte bilde g bli tvunget til å ha intensiteter innenfor intervallet [0, 255]
min g
max g
15 INF2310 09.02.2016
Standardisering av bilder
• Hensikt: – Sørge for at alle bildene i en serie er statistisk like (1. orden)
• Metode: – Justere middelverdien og variansen til gråtoneverdiene i bildet
ved hjelp av en lineær gråtonetransform • Hvorfor? Vi vil fjerne effekten av
– Døgnvariasjon i belysning – Aldringseffekter i lamper og detektorer – Akkumulering av støv på linser etc.
• Hvor: – Produktinspeksjon i industri – Mikroskopering av celler – ...
Neste uke: Kan også standardisere bildene med histogramspesifikasjon, men vil da ikke beholde ”formen” på histogrammet
16 INF2310 09.02.2016
Middelverdien av gråtonene
• Middelverdien av pikselverdiene i et bilde med nхm piksler og G gråtoner kan finnes – enten fra bildet
– eller fra bildets histogram, evt fra normalisert histogram
1
0
1
0
1
0
1
0
)()(1
)1()1(...)1(1)0(01
),(1
G
i
G
i
n
x
m
y
ipiihimn
GhGhhmn
yxfmn
1
0
1)( ,)(
)(:G
i
ipnmih
ipder
(Normalisert histogram)
Hvorfor en fordel med det siste alternativet?
17 INF2310 09.02.2016
Varians av gråtonene
• Variansen av pikselverdiene i et bilde med nxm piksler og G gråtoner kan også finnes fra bildets histogram
21
0
1
0
2
21
0
21
0
1
0
1
0
22
)()(
][)(
][)(1
]),([1
G
i
G
i
G
i
G
i
n
x
m
y
ipiipi
iip
iihmn
yxfmn
18 INF2310 09.02.2016
Justering av μ og σ2
• Gitt innbilde med middelverdi μ og varians σ2 • Anta en lineær gråtonetransform T[i]=ai+b • Ny middelverdi μT og varians σT
2 er da gitt ved
• Dvs. a=σT/σ , b= μT aμ
• Vi kan altså – velge nye μT og σT
2, – beregne a og b, – anvende T[i]=ai + b på innbildet – og få et utbilde med riktig μT og σT
2
baipiTG
iT
1
0
)(][
2221
0
1
0
22
21
0
1
0
222
21
0
1
0
22
)()(
)()(2
)(][)(][
aipiipia
ipbaiipbaibia
ipiTipiT
G
i
G
i
G
i
G
i
G
i
G
iT
19 INF2310 09.02.2016
Ikkelineær transform
• Logaritmisk skalering – Eks: Desibel og radarbilder, Fouriertransform
• Eksponentiell skalering
• Gammaskalering
• Stykkevislineær skalering
• Hva gjøres med kontrasten i de mørke og lyse delene av bildet etter slike skaleringer ? – Tegn skisse av funksjonene og se på Δf mot Δg
20 INF2310 09.02.2016
Logaritmiske transformasjoner
• Hvilken av transformasjonene til høyre er brukt her?
(Fig 3.3 i DIP)
21 INF2310 09.02.2016
”Powerlaw” (gamma)transformasjoner
• Mange bildeproduserende apparater har et input/outputforhold som kan beskrives som:
der s er utintensiteten ved en input i
– γ <1: den mørke delen av skalaen strekkes ut
– γ =1: identitetstransform
– γ >1: den lyse delen av skalaen strekkes ut
• Generell kontrastmanipulasjon – Brukervennlig med kun én variabel
• Maksimal kontrast: Alle pikselverdier like sannsynlige – Histogrammet er uniformt (flatt)
• Ønsker en transformasjon av bildet slik at det transformerte bildet har uniformt histogram – Dvs. at bildet har like mange piksler for hver gråtone
• Tilnærmer ved å flytte på histogramsøyler
• Trenger en oversikt over hvor hver søyle skal flyttes: T[i]
16.02.2016 INF2310
Algoritme for histogramutjevning
• For et nm bilde med L gråtoner: – Lag array p, cn og T av lengde L med initialverdi 0
• Finn bildets normaliserte histogram – Gå igjennom bildet piksel for piksel. – Hvis piksel har intensitet i, la p[i]=p[i]+1 – Deretter skalér, p[i] = p[i]/(n*m), i=0,1,…,L1
• Lag det normaliserte kumulative histogrammet cn – cn[0] = p[0], cn[i] = cn [i1]+p[i], i=1,2,....,L1
• Sett inn verdier i transformarray T T[i] = Round( (L1)*cn [i] ), i=0,1,......,L1
• Gå igjennom bildet piksel for piksel, Hvis innbildet har intensitet i,
sett intensitet i utbildet til s=T[i]
16.02.2016 INF2310
Eksempel – histogramutjevning3
• Finn bildets normaliserte histogram
• Lag det normaliserte kumulative histogrammet cn
• Sett inn verdier i transformarray T – T[i] = Round( (L1)*cn [i] )
for i=0,1,......,L1
INF2310 16.02.2016
Eksempel 1 histogramutjevning
16.02.2016 INF2310
Histogramutjevning
• Histogramutjevning kan flytte histogramsøyler
• Kan også slå sammen søyler
• Men kan ikke splitte søyler
• Gir bare tilnærmet flatt histogram i utbildet
• Utbildets kumulative histogram stiger lineært
16.02.2016 INF2310
Histogramtilpasning
• Histogramutjevning gir tilnærmet flatt histogram
• Kan hende at vi ønsker å spesifisere annen form på resultathistogrammet:
1. Gjør histogramutjevning på innbildet, finn s=T(i)
2. Spesifiser ønsket nytt histogram pz(i)
3. Finn den transformen G som histogramutjevner g(z), og finn inverstransformen G1
4. Inverstransformer det histogramutjevnede bildet fra punkt 1
ved z=G1(s)
16.02.2016 INF2310
Algoritme histogramspesifikasjon
• Finn normalisert histogram, pr(i), for inputbildet, f(r).
• Lag det normaliserte kumulative histogrammet cn(i).
• Sett s(i)=Round( (L1)*cn[i] ), i=0,1,......,L1, Transformasjon T.
• Gitt ønsket histogram, pz(i), for bildet g(z).
• Beregn kumulativt spesifisert histogram, skalér, avrund til nærmeste heltall i [0,L1], og lagre G(q).
• For i=0,1,…,L1, finn q slik at G(q) er nærmest mulig s(i), og lagre alle disse matchene i en array G1(i).
– Hvis flere q gir samme match, velg den minste.
• Kombiner så de de to transformene T og G1 til en ny mapping. – Alternativt først histogramutjevn innbildet med transformasjonen T, for så å
transformere det histogramutjevnede bildet med transformasjonen G1
16.02.2016 INF2310
Tilpasning til Gaussfordeling
INF2310 16.02.2016
Tilpasning til Gaussfordeling
INF2310 16.02.2016
”Histogram matching”
• Histogramtilpasning hvor det ene bildets histogram benyttes som ønsket form
16.02.2016 INF2310
Histogramutjevning av RGBbilder
• Histogramutjevning på hver komponent (r,g,b) uavhengig av hverandre – Kan føre til endring i fargetonene i bildet
• Alternativt benytte HSI: – Transformér bildet fra RGB til HSI – Gjør histogramutjevning på Ikomponenten
– Transformer HSIny tilbake til RGB
hvit
gul grønn
blå magenta
svart
S
I
H
16.02.2016 INF2310
Eks: Histogramutjevning RGB vs HSI
INF2310 16.02.2016
Om vi gjør histogramutjevning på RGB kanalene endrer vi
fargetonene
For HSI er det kun I verdien som representerer gråtonen og denne