圖像增強—自適應直方圖均衡化(AHE)-限制對比度自適應直方圖均衡(CLAHE)

一、自適應直方圖均衡化(Adaptive histgram equalization/AHE)

1.簡述

自適應直方圖均衡化(AHE)用來提升圖像的對比度的一種計算機圖像處理技術。和普通的直方圖均衡算法不同,AHE算法通過計算圖像的局部直方圖,然後重新分佈亮度來來改變圖像對比度。因此,該算法更適合於改進圖像的局部對比度以及獲得更多的圖像細節。
不過,AHE有過度放大圖像中相同區域的噪音的問題,另外一種自適應的直方圖均衡算法即限制對比度直方圖均衡(CLAHE)算法能有限的限制這種不利的放大。

2. 普通直方圖均衡算法與AHE算法的解釋

普通的直方圖均衡算法對於整幅圖像的像素使用相同的直方圖變換,對於那些像素值分佈比較均衡的圖像效果比較好。然後,如果圖像中包括明顯比圖像其它區域暗或者亮的部分,在這些部分的對比度將得不到有效的增強。

AHE算法通過對局部區域執行響應的直方圖均衡來改變上述問題。該算法首先被開發出來適用於改進航天器駕駛艙的顯示效果。其最簡單的形式,就是每個像素通過其周邊一個矩形範圍內的像素的直方圖進行均衡化。均衡的方式則完全同普通的均衡化算法:變換函數同像素周邊的累積直方圖函數(CDF)成比例。

圖像邊緣的像素需要特殊處理,因爲邊緣像素的領域不完全在圖像內部。這個通過鏡像圖像邊緣的行像素或列像素來解決。直接複製邊緣的像素進行擴充是不合適的。因爲這會導致帶有劍鋒的領域直方圖。

3. AHE算法的缺點

算法設定的鄰域參數小,對比度得到增強,鄰域參數大,則對比度會降低。

當某個區域包含的像素值非常接近,其區域的直方圖就會尖狀化,此時直方圖的變換函數會將一個很窄範圍內的像素映射到整個像素範圍。這將使得某些平坦區域中的少量噪音經AHE處理後過度放大。

二、限制對比度自適應直方圖均衡(Contrast Limited Adaptive histgram equalization/CLAHE)

1.簡述

CLAHE同普通的自適應直方圖均衡不同的地方主要是其對比度限幅。這個特性也可以應用到全局直方圖均衡化中,即構成所謂的限制對比度直方圖均衡(CLHE),但這在實際中很少使用。在CLAHE中,對於每個小區域都必須使用對比度限幅。CLAHE主要是用來克服AHE的過度放大噪音的問題。

這主要是通過限制AHE算法的對比提高程度來達到的。在指定的像素值周邊的對比度放大主要是由變換函數的斜度決定的。這個斜度和領域的累積直方圖的斜度成比例。CLAHE通過在計算CDF前用預先定義的閾值來裁剪直方圖以達到限制放大幅度的目的。這限制了CDF的斜度因此,也限制了變換函數的斜度。直方圖被裁剪的值,也就是所謂的裁剪限幅,取決於直方圖的分佈因此也取決於領域大小的取值。
通常,直接忽略掉那些超出直方圖裁剪限幅的部分是不好的,而應該將這些裁剪掉的部分均勻的分佈到直方圖的其他部分。如下圖所示。
這個重分佈的過程可能會導致那些倍裁剪掉的部分由重新超過了裁剪值(如上圖的綠色部分所示)。如果這不是所希望的,可以不帶使用重複不的過程指導這個超出的部分已經變得微不足道了。

2. 通過插值加快計算速度

如上所述的直接的自適應直方圖,不管是否帶有對比度限制,都需要對圖像中的每個像素計算器領域直方圖以及對應的變換函數,這使得算法及其耗時。

而插值使得上述算法效率上有極大的提升,並且質量上沒有下降。首先,將圖像均勻分成等份矩形大小,如下圖的右側部分所示(8行8列64個塊是常用的選擇)。然後計算個塊的直方圖、CDF以及對應的變換函數。這個變換函數對於塊的中心像素(下圖左側部分的黑色小方塊)是完全符合原始定義的。而其他的像素通過哪些於其臨近的四個塊的變換函數插值獲取。位於圖中藍色陰影部分的像素採用雙線性查插值,而位於便於邊緣的(綠色陰影)部分採用線性插值,角點處(紅色陰影處)直接使用塊所在的變換函數。

這樣的過程極大的降低了變換函數需要計算的次數,只是增加了一些雙線性插值的計算量。

效果對比

測試圖像,見下圖:

直方圖均衡化圖像(HE),見下圖:
HE

自適應直方圖均衡化參數1(AHE),見下圖:
AHE
自適應直方圖均衡化參數2(AHE),見下圖:
AHE

限制對比度自適應直方圖均衡(CLAHE),見下圖:

從效果上來看,CLAHE算法效果比較好,提亮了暗處,高亮處不至於過曝;AHE算法需要添加參數,參數不同,影響增強效果不同,並且影響很大;HE算法全局提亮,整體略亮。

感興趣的同學可以到我的github下載這些代碼運行看看,鏈接如下:
Matlab代碼鏈接


參考文章
參考文章
參考文章
參考文章


我的個人博客主頁,歡迎訪問

我的CSDN主頁,歡迎訪問

我的GitHub主頁,歡迎訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章