Ekvalizáca histogramu
Ekvalizácia histogramu (angl. histogram equalization) je technika spracovania obrazu v informatike, ktorá zvyšuje jeho kontrast. Jej cieľom je dosiahnutie rovnomerného zastúpenia všetkých jasových hodnôt v obraze, teda zmeniť rozloženie farieb tak, aby sa v histograme vyskytovalo čo najviac odtieňov. [1]
Prehľad
[upraviť | upraviť zdroj]Histogram môže byť v tomto prípade interpretovaný ako dátová štruktúra, ktorá obsahuje počet pixelov jednotlivých intenzít. Pre 8-bitový šedotónový obrázok je potrebných 256 tried (stĺpcov) histogramu. Pre obrázky s viac bitovou hĺbkou je potrebný iný, vhodný počet tried. [2]
Ekvalizáciu histogramu je vhodné použiť vtedy, ak obrázok vyzerá vyblednuto a nemá dostatočný kontrast[3]. Cieľom ekvalizácie je rozložiť najviac sa vyskytujúce intenzity jasu do viacerých častí histogramu, a tým ho urobiť viac plochým. Ekvalizácia zvyšuje hodnoty jasných pixelov ku maximu a znižuje hodnoty tmavých pixelov ku minimu[1].
Príklad výpočtu
[upraviť | upraviť zdroj]Majme 8-bitový šedotónový obrázok s hodnotami:
52 | 55 | 61 | 59 | 79 | 61 | 76 | 61 |
---|---|---|---|---|---|---|---|
62 | 59 | 55 | 104 | 94 | 85 | 59 | 71 |
63 | 65 | 66 | 113 | 144 | 104 | 63 | 72 |
64 | 70 | 70 | 126 | 154 | 109 | 71 | 69 |
67 | 73 | 68 | 106 | 122 | 88 | 68 | 68 |
68 | 79 | 60 | 70 | 77 | 66 | 58 | 75 |
69 | 85 | 64 | 58 | 55 | 61 | 65 | 83 |
70 | 87 | 69 | 68 | 65 | 73 | 78 | 90 |
Na výpočet hodnôt výstupného obrázku sú potrebné nasledujúce kroky:
- vytvoriť histogram obrázku H(i)
- vytvoriť kumulatívny histogram
- vypočítať hodnotu nového pixelu podľa vzorca:
kde Kmin je najmenšia nenulová hodnota kumulatívneho histogramu (v tomto príklade 1), M × N uvádza počet pixelov obrázku (pre tento príklad 8*8=64 pixelov) a L je počet úrovní jasu (vo väčšine prípadov, ako aj v tomto, je to 256).
Rovnica pre tento príklad teda bude:
Napríklad, pre pixel s hodnotou 78 je hodnota z kumulatívneho histogramu 46 (hodnota 78 je použitá v 7. stĺpci a 8. riadku). Normalizovanú hodnotu vypočítame:
Nasledujúca tabuľka zobrazuje v - hodnotu pixelu, H(v) - histogram (počet výskytov hodnoty pixelu), K(v) - kumulatívny histogram a h(v) - výsledná ekvalizovaná hodnota.
v H(v) K(v) h(v) 52 1 1 0 55 3 4 12 58 2 6 20 59 3 9 32 60 1 10 36 61 4 14 53 62 1 15 57 63 2 17 65 64 2 19 73 65 3 22 85 66 2 24 93 67 1 25 97 68 5 30 117 69 3 33 130 70 4 37 146 71 2 39 154 72 1 40 158 73 2 42 166 75 1 43 170 76 1 44 174 77 1 45 178 78 1 46 182 79 2 48 190 83 1 49 194 85 2 51 202 87 1 52 206 88 1 53 210 90 1 54 215 94 1 55 219 104 2 57 227 106 1 58 231 109 1 59 235 113 1 60 239 122 1 61 243 126 1 62 247 144 1 63 251 154 1 64 255
Výsledné hodnoty obrázku:
0 | 12 | 53 | 32 | 190 | 53 | 174 | 53 |
---|---|---|---|---|---|---|---|
57 | 32 | 12 | 227 | 219 | 202 | 32 | 154 |
65 | 85 | 93 | 239 | 251 | 227 | 65 | 158 |
73 | 146 | 146 | 247 | 255 | 235 | 154 | 130 |
97 | 166 | 117 | 231 | 243 | 210 | 117 | 117 |
117 | 190 | 36 | 146 | 178 | 93 | 20 | 170 |
130 | 202 | 73 | 20 | 12 | 53 | 85 | 194 |
146 | 206 | 130 | 117 | 85 | 166 | 182 | 215 |
- Porovnanie vstupného a výstupného obrázku:
Referencie
[upraviť | upraviť zdroj]- ↑ a b SONKA, MILAN.. Image processing, analysis, and machine vision. Toronto : Thompson Learning, 2008. (3rd ed.) Dostupné online. ISBN 0-495-08252-X.
- ↑ SZELISKI, RICHARD, 1958-. Computer vision : algorithms and applications. London : Springer, 2011. Dostupné online. ISBN 978-1-84882-934-3.
- ↑ HTOON, Kyaw Saw. A Tutorial to Histogram Equalization [online]. Medium, 2020-08-18, [cit. 2020-10-31]. Dostupné online. (po anglicky)