2.8. Alinierea histogramelor
Există trei metode principale pentru creșterea contrastului imaginii:
- întinderea liniară a histogramei (contrast liniar),
- stabilizarea histogramei,
- alinierea (liniarizarea sau egalizarea) histogramei.
Stretchingul liniar este redus pentru a atribui noi valori ale intensității fiecărui pixel al imaginii. În cazul în care intensitatea imaginii originale a variat în intervalul de până atunci au nevoie de liniar „întindere“ în intervalul specificat, astfel încât modificările de valoare de la 0 la 255. Este suficient pentru a număra vechile valori de intensitate pentru toți pixelii conform formulei în care coeficienții doar calculată din ordinul că granița ar trebui să ajungă la 0 și - la 255.
Normalizarea histogramei, spre deosebire de metoda anterioară, asigură faptul că întreaga gamă de modificări ale intensității nu este întinsă, ci doar partea cea mai informativă. Partea informativă este înțeleasă ca un set de vârfuri de histogramă, adică intensitate, care se găsesc adesea pe imagine. Fasolele corespunzătoare intențiilor rare sunt aruncate în timpul procesului de normalizare, apoi se efectuează întinderea liniară obișnuită a histogramei rezultate.
Alinierea histogramelor este una dintre metodele cele mai comune. Scopul egalizării este ca toate nivelele de luminozitate să aibă aceeași frecvență, iar histograma corespunde unei legi uniforme de distribuție. Să presupunem că este specificată o imagine în tonuri de gri care are rezoluția pixelilor. Numărul de niveluri de cuantificare pentru luminozitatea pixelilor (numărul de fasole) este. Apoi, media pentru fiecare nivel de luminozitate ar trebui să renunțe la pixeli. Matematica de bază constă în compararea a două distribuții. Permiteți să fie variabile aleatoare care descriu modificarea intensității pixelilor în imagini, densitatea distribuției intensității în imaginea originală și densitatea de distribuție dorită. Este necesar să se găsească transformarea densităților de distribuție, ceea ce ar permite obținerea densității dorite:
Noi denotăm prin u legile integrale ale distribuției variabilelor aleatoare și. Din condiția probabilității de echivalență rezultă că. Vom scrie, prin definiție, legea privind distribuția integrală:
Prin urmare, obținem asta
Rămâne să aflăm cum să evaluăm legea integrală de distribuție. Pentru a face acest lucru, mai întâi construi o histogramă a imaginii originale, histograma rezultată este apoi normalizate prin împărțirea valorii fiecărei bin de numărul total de pixeli. Valorile containerelor pot fi considerate ca o valoare aproximativa a functiei de densitate. Astfel, valoarea funcției de distribuție integrală poate fi reprezentată ca o sumă a următoarei forme:
Estimarea construită poate fi utilizată pentru a calcula valorile noi ale intensității. Rețineți că transformările histograme listate pot fi aplicate nu numai întregii imagini, ci și părților sale individuale.
În biblioteca OpenCV, funcția equalizeHist este implementată. care oferă o creștere a contrastului imaginii prin alinierea histogramei [1. 7]. Funcția prototip este prezentată mai jos.
Funcția funcționează în patru etape:
- Calcularea histogramei imaginii originale src. Rețineți că src este o imagine pe un singur canal pe 8 biți.
- Normalizarea histogramei. Normalizarea prin împărțirea valorii fiecărui coș de histograme la numărul total de pixeli.
- Construirea unei histograme integrale.
- Determinarea valorii noi a intensității pixelilor dst (x, y) = H '(src (x, y)).
Fig. 7.11. Rezultatul alinierii histogramei