Histogram matching - Histogram matching
I billedbehandling er histogramtilpasning eller histogramspecifikation transformation af et billede, så dets histogram matcher et specificeret histogram. Den velkendte histogramudligningsmetode er et specielt tilfælde, hvor det specificerede histogram fordeles ensartet .
Det er muligt at bruge histogramtilpasning til at afbalancere detektorresponser som en relativ detektorkalibreringsteknik. Det kan bruges til at normalisere to billeder, når billederne blev erhvervet ved samme lokale belysning (såsom skygger) over det samme sted, men ved forskellige sensorer, atmosfæriske forhold eller global belysning.
Implementering
Overvej et inputbillede af gråtoner X. Det har en sandsynlighedsdensitetsfunktion p r (r), hvor r er en gråtoneværdi, og p r (r) er sandsynligheden for denne værdi. Denne sandsynlighed kan let beregnes ud fra billedets histogram med
Hvor n j er frekvensen af gråtoneværdien r j , og n er det samlede antal pixels i billedet.
Overvej nu en ønsket output sandsynlighedsdensitetsfunktion p z (z). En transformation af p r (r) er nødvendig for at konvertere den til p z (z).
Hver pdf (sandsynlighedsdensitetsfunktion) kan let kortlægges til dens kumulative fordelingsfunktion af
Hvor L er det samlede antal grå niveau (256 for et standardbillede).
Ideen er at kortlægge hver r-værdi i X til z-værdien, der har samme sandsynlighed i den ønskede pdf . Dvs. S ( r j ) = G ( z i ) eller z = G -1 ( S ( r )).
Eksempel
Følgende input-gråtonebillede skal ændres for at matche referencehistogrammet.
Indgangsbilledet har følgende histogram
Det matches med dette referencehistogram for at understrege de lavere grå niveauer.
Efter matchning har outputbilledet følgende histogram
Og ser sådan ud
Algoritme
Givet to billeder, referencen og målbillederne, beregner vi deres histogrammer. Herefter beregner vi de kumulative fordelingsfunktioner for de to billeders histogrammer - for referencebilledet og for målbilledet. Så for hver grå niveau , finder vi det grå niveau for hvilke , og dette er resultatet af histogram matchende funktion: . Endelig anvender vi funktionen på hver pixel i referencebilledet.
Præcis matchning af histogram
I typiske applikationer i den virkelige verden med 8-bit pixelværdier (diskrete værdier i området [0, 255]) kan histogramtilpasning kun tilnærme det angivne histogram. Alle pixels med en bestemt værdi i det originale billede skal omdannes til kun en værdi i outputbilledet.
Præcis histogramtilpasning er problemet med at finde en transformation til et diskret billede, så dets histogram nøjagtigt svarer til det angivne histogram. Flere teknikker er blevet foreslået til dette. En forenklet tilgang konverterer det diskrete billede til et kontinuerligt billede og tilføjer små tilfældige værdier til hver pixel, så deres værdier kan rangeres uden bånd. Dette introducerer imidlertid støj til outputbilledet.
På grund af dette kan der være huller eller åbne pletter i det output-matchede histogram.
Flere histogramtilpasning
Histogramtilpasningsalgoritmen kan udvides til at finde en monoton kortlægning mellem to sæt histogrammer. Givet to sæt histogrammer og beregnes den optimale monotone farvekortlægning for at minimere afstanden mellem de to sæt samtidigt, nemlig hvor er en afstandsmåling mellem to histogrammer. Den optimale løsning beregnes ved hjælp af dynamisk programmering .