灰度直方圖
灰度直方圖: 圖像灰度直方圖描述的是圖像各個(gè)灰度級的統(tǒng)計(jì)特性,橫坐標(biāo)表示各級灰度值,縱坐標(biāo)表示各級灰度值在圖像中對應(yīng)的像素個(gè)數(shù)。
比如灰度級范圍為[0,L-1]的數(shù)字圖像的灰度直方圖可以如下離散函數(shù)來表示:
其中,rk表示第k級灰度值,nk表示圖像中灰度為rk的像素個(gè)數(shù),k=0,1,...,L-1。
歸一化灰度直方圖
歸一化灰度直方圖:橫坐標(biāo)表示各級灰度值,縱坐標(biāo)表示各級灰度值在圖像中出現(xiàn)的概率統(tǒng)計(jì)。歸一化直方圖的縱坐標(biāo)分量之和應(yīng)等于1。
其中,rk表示第k級灰度值,nk表示圖像中灰度為rk的像素個(gè)數(shù),M與N表示圖像的行和列,p(rk)表示灰度級rk在圖像中出現(xiàn)的概率值,k=0,1,...,L-1。
累積直方圖
累計(jì)直方圖:代表圖像組成成分在灰度級的累計(jì)概率分布情況,每一個(gè)概率值代表小于等于此灰度值的概率。
其中,rk表示第k級灰度值,nk表示圖像中灰度為rk的像素個(gè)數(shù),M與N表示圖像的行和列,p(rk)表示灰度級rk在圖像中出現(xiàn)的概率值,c(rk)表示累積值,k=0,1,...,L-1。

從上圖可以看出,在暗圖像中,灰度直方圖的分量集中在灰度級的低端;在亮圖像中,灰度直方圖的分量集中在灰度級的高端;低對比圖圖像具有較窄的灰度直方圖;高對比度圖像中灰度直方圖的分量覆蓋很寬的灰度級范圍,且像素的分布沒有太不均勻,只有少量垂線比其它高許多。
直方圖均衡
直方圖均衡:是將當(dāng)前的灰度分布通過一個(gè)變換函數(shù),變換為范圍更寬、灰度分布更均勻的圖像,也就是將原圖像的直方圖修改為在整個(gè)灰度區(qū)間內(nèi)大致均勻分布,因此擴(kuò)大了圖像的動態(tài)范圍,增強(qiáng)了圖像的對比度。
直方圖均衡化的步驟:
- 計(jì)算原圖像的灰度直方圖p(rk);
- 計(jì)算原圖像的累積直方圖c(rk);
- 計(jì)算圖像新的像素值,如下
其中,rk表示第k級灰度值,nk表示圖像中灰度為rk的像素個(gè)數(shù),M與N表示圖像的行和列,p(rk)表示灰度級rk在圖像中出現(xiàn)的概率值,c(rk)表示累積值,k=0,1,...,L-1,sk表示輸出圖像的灰度級,(L-1)表示圖像的最大灰度級比如255。
示例
已知一幅大小為64×64像素的3位圖像的灰度分布以及歸一化灰度直方圖值如下表所示,求均衡后的歸一化灰度直方圖?
| rk | nk | p(rk) |
|---|---|---|
| r0 | 790 | 0.19 |
| r1 | 1023 | 0.25 |
| r2 | 850 | 0.21 |
| r3 | 656 | 0.16 |
| r4 | 329 | 0.08 |
| r5 | 245 | 0.06 |
| r6 | 122 | 0.03 |
| r7 | 81 | 0.02 |
由于該圖像是3位圖像,所以L=23=8,直接運(yùn)用直方圖均衡化公式,可得:
將所求得的s值近似為相近的整數(shù),即:
這些整數(shù)就是均衡后的直方圖的值,可以看到,通過直方圖均衡操作,原先的8個(gè)灰度級變?yōu)榱?個(gè)灰度級,即:
- 原先的第0灰度級被映射為了第1灰度級,再由上表可知,在均衡后的圖像中有790個(gè)像素具有該值;
- 原先的第1灰度級被映射為了第3灰度級,在均衡后的圖像中有1023個(gè)像素具有該值;
- 原先的第2灰度級被映射為了第5灰度級,在均衡后的圖像中有850個(gè)像素具有該值;
- 原先的第3、4灰度級被映射為了第6灰度級,在均衡后的圖像中有(656+329)=985個(gè)像素具有該值;
- 原先的第5、6、7灰度級被映射為了第7灰度級,在均衡后的圖像中有(245+122+81)=448個(gè)像素具有該值.。
根據(jù)歸一化灰度直方圖的計(jì)算公式,使用MN=64×64=4096去除這些數(shù)即可得到均衡后圖像的歸一化灰度直方圖,將其繪制出來如下(圖3)所示。

直方圖匹配
直方圖匹配:對于某些應(yīng)用,采用直方圖均衡的基本增強(qiáng)并不是最好的方法,特別地,有時(shí)我們希望處理后的圖像具有規(guī)定的直方圖形狀,這種用于產(chǎn)生處理后有特殊直方圖的方法稱為直方圖匹配或直方圖規(guī)定化。
直方圖匹配的步驟:
- 對原始圖像的灰度直方圖進(jìn)行均衡化,得到一個(gè)變換函數(shù)sk=T(rk),其中sk是均衡化后的灰度級,rk是原始灰度級。
- 對規(guī)定的直方圖進(jìn)行均衡化,得到一個(gè)變換函數(shù)vq=G(zq),其中vq是均衡化后的灰度級,zq是規(guī)定化的灰度級。
- 上面都是對同一圖像的均衡化,其結(jié)果應(yīng)該是相等的。
由于:
通過反變換可變形得到下式:
像這樣,通過均衡化作為中間結(jié)果,將得到原始灰度級rk和規(guī)定化后灰度級zq之間的映射關(guān)系。
但是在實(shí)踐中,我們并不需要計(jì)算G的反變換,因?yàn)槲覀兲幚淼幕叶燃壥钦麛?shù),比如8位圖像的灰度級是0-255,利用vq=G(zq)式計(jì)算q=0,1,2,...,L-1時(shí)的所有值是一件很簡單的事情。實(shí)際計(jì)算步驟如下:
- 對原始圖像的灰度直方圖進(jìn)行均衡化,將sk四舍五入為[0,L-1]內(nèi)的整數(shù)。
- 對規(guī)定的直方圖進(jìn)行均衡化,將vq的值四舍五入為[0,L-1]內(nèi)的整數(shù)。
- 對于每一個(gè)sk值,都尋找相應(yīng)的vq值,使得vq最接近sk,進(jìn)而可得sk到zq的映射。當(dāng)滿足sk的zq值多于一個(gè)時(shí),我們選擇最小的zq值進(jìn)行映射。
- 根據(jù)得到的sk與zq的映射關(guān)系,即可將原始直方圖均衡后的灰度級映射為規(guī)定化后的灰度級,形成直方圖規(guī)定化后的圖像。
示例
已知一幅大小為64×64像素的3位圖像的灰度分布、歸一化灰度直方圖值如表1所示,規(guī)定的歸一化灰度直方圖值如表2所示,求規(guī)定后的歸一化灰度直方圖?
表1.原始圖像的灰度分布、歸一化灰度直方圖值
| rk | nk | p(rk) |
|---|---|---|
| r0 | 790 | 0.19 |
| r1 | 1023 | 0.25 |
| r2 | 850 | 0.21 |
| r3 | 656 | 0.16 |
| r4 | 329 | 0.08 |
| r5 | 245 | 0.06 |
| r6 | 122 | 0.03 |
| r7 | 81 | 0.02 |
表2.規(guī)定的歸一化灰度直方圖值
| zq | p(zq) |
|---|---|
| z0 | 0.00 |
| z1 | 0.00 |
| z2 | 0.00 |
| z3 | 0.15 |
| z4 | 0.20 |
| z5 | 0.30 |
| z6 | 0.30 |
| z7 | 0.15 |
首先對原始圖像的灰度直方圖進(jìn)行均衡化,再將sk四舍五入為[0,L-1]內(nèi)的整數(shù),可得:
對規(guī)定的直方圖進(jìn)行均衡化,并將vq的值四舍五入為[0,L-1]內(nèi)的整數(shù),可得:
將如上計(jì)算結(jié)果統(tǒng)計(jì)到表格中:
| zq | vq=G(zq) |
|---|---|
| z0 | 0 |
| z1 | 0 |
| z2 | 0 |
| z3 | 1 |
| z4 | 2 |
| z5 | 5 |
| z6 | 6 |
| z7 | 7 |
對于每一個(gè)sk值,都尋找相應(yīng)的vq值,使得vq最接近sk,根據(jù)vq與zq的關(guān)系,進(jìn)而可得sk到zq的映射,如下所示:
| sk | vq=G(zq) | zq |
|---|---|---|
| 1 | 1 | 3 |
| 3 | 2 | 4 |
| 5 | 5 | 5 |
| 6 | 6 | 6 |
| 7 | 7 | 7 |
將sk映射為zq,實(shí)際上就是將原始直方圖均衡后的灰度級映射為規(guī)定化后的灰度級,詳細(xì)過程如下:
- 原始直方圖均衡后的第1灰度級被映射為了第3灰度級,在直方圖均衡后的圖像中有790個(gè)像素具有該值;
- 原始直方圖均衡后的第3灰度級被映射為了第4灰度級,在直方圖均衡后的圖像中有1023個(gè)像素具有該值;
- 原始直方圖均衡后的第5灰度級被映射為了第5灰度級,在直方圖均衡后的圖像中有850個(gè)像素具有該值;
- 原始直方圖均衡后的第6灰度級被映射為了第6灰度級,在直方圖均衡后的圖像中有(656+329)=985個(gè)像素具有該值;
- 原始直方圖均衡后的第7灰度級被映射為了第7灰度級,在直方圖均衡后的圖像中有(245+122+81)=448個(gè)像素具有該值;
根據(jù)歸一化灰度直方圖的計(jì)算公式,使用MN=64×64=4096去除這些數(shù)即可得到規(guī)定后圖像的歸一化灰度直方圖,將其繪制出來如下(圖d)所示。

從結(jié)果可以看出,如上(圖d)所示的最終結(jié)果并不完全與規(guī)定的直方圖匹配,但我們達(dá)到了將灰度明確地移向灰度級高端的目的。
直方圖均衡與直方圖匹配的比較


- 由于原始影像的直方圖中有大量像素灰度接近0,直接進(jìn)行直方圖均衡時(shí),其結(jié)果是把非常窄的暗像素區(qū)間映射到輸出圖像灰度級的高端。
- 由于原始影像的直方圖中有大量像素灰度接近0,所以可以修改原始圖像的直方圖,使其不再有這一屬性。即采用直方圖匹配的方法來改善原始影像,人為規(guī)定一個(gè)直方圖,該直方圖保持了原有直方圖的基本形狀,但在圖像灰度暗區(qū)的灰度值有更平滑的過度。
- 比較以上結(jié)果可以看出,對于該問題,直方圖匹配的效果比直方圖均衡要好。應(yīng)該注意,原始直方圖的細(xì)小改變會使圖像的外觀得到顯著改進(jìn)。