INF 30 Dgtal bldebehandlng FORELESNING 4 GRÅONE-RANSFORMASJONER Frtz Albregtsen
emaer dag Hstogrammer Lneære gråtonetransformer t Standardserng av blder med lneær transform Ikke-lneære, parametrske transformer Pensum: Kap. 3. - 3DIP 3. Neste uke: Hstogrambaserte operasjoner og lokale gråtonetransformer
Hvordan endre kontrasten et blde?? Matematsk verktøykasse 3
Hstogrammer En dskret funksjon som vser antall målnger nnenfor (som oftest) unforme ntervaller et datasett V jobber med blder og får Et blde som datasett Pksel-ntensteter som målnger En overskt over hyppgheten h tl ntenstetene bldet Kan også ha hstogrammer over andre parametre. 4
Gråtonehstogrammer Gtt et gråtoneblde med nm pksler og G gråtoner Et hstogram, h(), er slk at: h() = antall pksler bldet med pkselverd #p pksler Dannes ved å gå gjennom alle pkslene og telle gråtoner gråtone V har naturlgvs at h( ) n m G 0 5
Eksempel - hstogram Blde: Hstogram: 3 5 4 5 3 4 3 # pk ksler h() 3 4 5 Pkselverd 6
Eksempler 7
Eksempler II 8
Oppgaver Hvordan ser hstogrammet ut? Hvordan ser hstogrammet ut? Her er hstogrammet. Hvordan ser bldet ut? 0 40 60 80 00 9
Normalsert hstogram G V har at h ( ) n m 0 Det normalserte hstogrammet er: p( ) h( ) n m, G 0 p( ) p() kan ses på som en sannsynlghetsfordelng for pkselverdene Uavhengg av antall pksler bldet Man kan s en del om bldet ut fra denne sannsynlghets-tetthetsfunksjonen 0
Kumulatvt hstogram Hvor mange pksler har gråtone mndre enn eller lk gråtone j? c( j) j 0 h( ) Normalsert kumulatvt hstogram: c ( j ) n m (Sannsynlgheten for at en tlfeldg pksel er mndre eller lk gråtone j)
Eksempel, kumulatvt hstogram Hstogram og kumulatvt hstogram samme fgur
Hstogrammer full oppløsnng ll kandd dater anta 4 0 Hstogram kanddater mot total poengsum 0 0 0 30 40 50 60 70 80 90 00 total poengsum kum mulatvt antall kan nddater30 0 0 0 Kumulatvt hstogram, kanddater mot total poengsum med karaktergrenser markert 0 0 40 60 80 00 total poengsum 3
Skalerte hstogrammer redusert oppløsnng * Oppløsnngen hstogrammer kan reduseres - for eksempel ved overgang fra poengsum tl karakter. * Hstogrammet kan skaleres es tl sum = eller e sum = 00%. Normen er 0%, 5%, 30% 5%, 0%. Er dere bedre enn normen, så får dere gode karakterer. 4
Hstogrammer av objekt-egenskaperegenskaper Begrepsapparatet omkrng hstogrammer vl også komme tl nytte dgtal bldeanalyse V kan lage hstogrammer over egenskaper, feks: Objekt-størrelse: Vser fordelngen av størrelsen på objektene, og danner grunnlag for å sette en terskel for å kunne fjerne små og uvesentlge objekter fra bldet (støy) Objekt-momenter: Vser fordelngen av beregnede momenter fra hvert objekt, og danner grunnlag for å samle grupper av objekter klasser eller clustre 5
Gråtonetransformasjon Når v vser et blde på skjermen er ntensteten kontrollert av den tlsvarende verden bldematrsen V kan opprette en avbldnngs-funksjon mellom de tallene som fnnes bldematrsen, v n, og den ntensteten v ønsker på skjermen, v out For ett-båndsblder er v out =[v n ] kan være en parametrsk funksjon eller en tabell Ren gråtonetransformasjon, så ett og ett pksel transformeres uavhengg ggav nabopksler Global transformasjon. 6
Identtetsmappng Fguren vser sammenhengen mellom pkselverden nn-bldet (f) og pkselverden tl den samme pkselen utbldet (g) etter en gråtonetransformasjon. Hvs transformasjon er en denttetsmappng, g=f, vl fguren vse en rett lnje gjennom orgo, med stgnngstall. [] = g g g f f f 7
Lneær avbldng Lneær strekkng [ ] a b g( x, y) a f ( x, y) b a regulerer kontrasten, og b lysheten a>: mer kontrast a<: mndre kontrast b: flytter alle gråtoner b nvåer Negatver: a=-, b=maxverd for bldetype 8
Endre lysheten (brghtness) Legge tl en konstant b tl alle pkselverdene g g x, y f ( x, y ) b Hvs b>0, alle pkselverdene øker, og bldet blr lysere Hvs b < 0, bldet blr mørkere Hstogrammet flyttes opp eller ned med b h(g) f Mddelverden endres! h(f) 9
Endre kontrasten Multplsere hver pkselverd med en faktor a: g x, y a f ( x, y ) g Hvs a >, kontrasten øker Hvs a <, kontrasten mnker h(g) f Eks: Bruke hele ntenstetsskalaen Q: Hva skjer med mddelverden? h(f) 0
Invertert gråtoneblde Danner bldets negatv ved å sett a=- og b=maksverden (antall gråtoner = G) g x, y ( G ) f ( x, y ) Bldet får kke negatve verder, men avbldnngsfunksjonen har negatvt stgnngstall
Fra gråtonenvå [f,f ]tl[g,g ] Endre ntervallet [f, f ] tl å bl [g,g ] En lneær mappng fra f tl g: g g x, y g f ( x, y f g ) f f Rett lnje med stgnngstall g a=(g -g )/(f -f ) g g g g g a f f f f f
Klppng etter transform Om g(x,y) får verder utenfor det støttede ntervallet, foretas som oftest klppng av verdene F.eks vl et unsgned byte blde g bl tvunget nnenfor ntervallet [0, 55] max g mn g 3
Standardserng av blder Henskt: Sørge for at alle bldene en sere er statstsk lke (. orden) Metode: Justere mddelverden og varansen tl gråtoneverdene bldet ved hjelp av en lneær gråtonetransform Hvorfor? Fjerne effekten av Døgnvarasjon belysnng Aldrngseffekter lamper og detektorer Akkumulerng av støv på lnser etc. Hvor: Produkt-nspeksjon ndustr Mkroskoperng av celler...... hstogrammet Neste uke: Kan også standardsere bldene med hstogramspesfkasjon, men vl da kke beholde formen på hstogrammet 4
Mddelverden av gråtonene Mddelverden av pkselverdene et blde med nхm pksler og G gråtoner kan fnnes enten fra bldet eller fra bldets hstogram, evt fra normalsert hstogram n m n m n m n m x0 y0 f ( x, y) 0 h (0) h ()... ( G ) h ( G ) G h( ) G 0 0 p( ) Hvorfor en fordel med det sste alternatvet? t t? der : p( ) h( ), nm G 0 p( ) (Normalsert hstogram) 5
Varans av gråtonene Varans av gråtonene Varansen av pkselverdene et blde med nxm pksler Varansen av pkselverdene et blde med nxm pksler og G gråtoner kan også fnnes fra bldets hstogram 0 0 ] ), ( [ n x m y y x f m n 0 ] )[ ( G y h m n 0 ] )[ ( G p 0 0 ) ( ) ( G G p p 6
Justerng av μ og σ Justerng av μ og σ Gtt nn blde med mddelverd μ og varans σ Gtt nn-blde med mddelverd μ og varans σ Anta en lneær gråtone-transform []=a+b Ny mddelverd μ og varans σ er da gtt ved Ny mddelverd μ og varans σ er da gtt ved b a p G 0 ) ( ] [ 0 0 ) ( ] [ ) ( ] [ p p G G Dvs. a=σ /σ, b= μ -aμ 0 0 0 0 0 ) ( ) ( p b a p b ab a G G V kan altså velge nye μ og σ, beregne a og b 0 0 ) ( ) ( a p p a G G beregne a og b, anvende []=a + b på nn-bldet og få et ut-blde med rktg μ og σ 7
Eksempel : Justerng av σ Eksempel : Justerng av σ Vl beholde mddelverden slk at Vl beholde mddelverden, slk at μ =μ, ø k men ønsker ny σ. B t b l [] b Bestem a og b lgnngen []=a+b: a b a a b a ] [, ] [ 8
Eksempel : Justerng av μ og σ Eksempel : Justerng av μ og σ Ønsker at alle bldene en sere skal ha samme (μ σ ) Ønsker at alle bldene en sere skal ha samme (μ,σ ). Bestem a og b lgnngen []=a+b: a b a, ] [ For hvert blde må v fnne bldets (μ,σ) 9
Valg av standardavvk Anta at hstogrammet tl nnbldet er normalfordelt N(μ,σ), og at v velger μ G/. Hvaerdaoptmaltvalgavσ valg av σ? Hvor stor percentl blr klpt? 30
Ikke-lneær transform Logartmsk skalerng Eks: Desbel og radarblder, Fourer-transform Eksponentell skalerng Gamma-skalerng Stykkevs-lneær skalerng Hva gjøres med kontrasten de mørke og lyse delene av bldet etter slke skalernger egn sksse av funksjonene og se Δf motδg 3
Logartmske transformasjoner Hvlken av transformasjonene tl høyre er brukt her? (Fg 3.3 DIP) 3
Power-law (gamma)-transformasjoner Mange bldeproduserende apparater har et nput/outputforhold som kan beskrves som: s c (Fg 3.6 DIP) der s er ut-ntensteten t t t ved en nput Kan korrgeres ved gråtonetransformen [] = /γ Generell kontrast-manpulasjon Brukervennlg med kun én varabel 33
Eksponentell mappng 34
Stykkevs lneær mappng Brukerspesfsert stykkevs lneær mappng for å fremheve vsse ntervaller 35
Gr bnært blde basert på om pkslenes n-te bt er satt I eksemplet, kun de sste 4 bt nneholder vsuell sgnfkans Kan benyttes kompresjon Kun beholde vsse bt-plan Effektvt å kode bnære blder (f.eks runlength ) Bt-plan-oppdelng 36
ersklng Dette er et grense-tlfelle av lneær transformasjon, der alle ut-verdene g settes lk 0 for nn-verder f et ntervall 0-, mens alle andre ut-verder settes lk Dette gr et to-nvå (bnært) ut-blde 37
Implementasjon: Oppslagstabeller (LU) Mål: Effektvsere mplementasjonen Avbldnngsfunksjonen utføres på alle mulge ntensteter og resultatene lagres en tabell (LU=look up table) Gråtone-avbldngen utføres så som oppslag en tabell Hardware LU-operasjonen utføres på data-strømmen mellom hukommelse og dsplay on the fly (på grafkkortet) Innholdet blde-matrsen endres kke Kontrastendrng ved kun å endre tabellverdene Software Utregnng av avbldnngsfunksjonen for hvert pksel blr byttet ut med enkelt tabelloppslag 38
Implementasjon av gråtoneoperasjoner for x=0:wdth- for y=0:heght- g(x,y)=a*f(x,y) + b drekte mplementasjon for g=0:ngreylevels- [g]=a*g+b ved bruk av LU for x=0:wdth- for y=0:heght- g(x,y)=[f(x,y)] endrng av pkselverdene 39
Gråtonehstogrammer Oppsummerng Lneær transform Forstå effekten av parametrene a og b Standardserng av blder med lneær transform Fjerner effekten av varasjoner avbldnngsforhold (døgnvarasjon, lampe, støv etc) Hvordan bestemme a og b for å få ønsket μ og σ Ikke-lneære, parametrske transformer Logartmsk, eksponentell, gamma, stykkevs lneær Hva gjøres med kontrasten de mørke og lyse delene av bldet etter slke skalernger egn sksse av funksjonene og se på Δf motδg 40