【圖像處理筆記】直方圖均衡


直方圖均衡。 histogram equalization。

考慮連續灰度值,並用變量r表示待處理圖像的灰度。通常,我們假設r的取值區間為[0,L - 1],r = 0表示黑色,r = L - 1表示白色。


對於上式,我們假設:

(a)T(r)在區間上為單調遞增函數。

(b)當0 <= r <= L - 1時,0 <= T(r) <= L - 1

在后面討論的一些公式中,我們會用到T(r)的反函數


在這種情況下,條件(a)改為(a‘)T(a)在區間上為嚴格單調遞增函數。

條件(a)中要求T(r)為單調遞增函數,是為了保證輸出的灰度值不少於相應的輸入值,防止灰度反變換時產生人為的缺陷。

條件(a’)特意強調嚴格單調遞增,是為了保證從S到 r 的反映射是一對一的,防止二義性。

因為在實踐中,我們處理的數字圖像,都是整數的灰度值,必須把所有的結果四舍五入為最接近的整數值,所以一對一的映射無法滿足。

因此,當嚴格單調不滿足時,我們就要使用尋找最接近整數匹配的方法來解決非唯一反變換的問題。


一幅圖像的灰度級可以看成是[0,L - 1]內的隨意變量。隨機變量的基本描繪子是其概率密度函數(PDF)。

令Pr(r)和Ps(s)分別表示隨機變量r 和s 的PDF。由基本概率論得到的一個基本的結果是,如果Pr(r)和T(r)已知,且在感興趣的值域上T(r)是連續且可微的,則映射后的PDF可表示為:


可知,S的PDF是由輸入灰度的PDF和變換函數決定的。

在圖像處理中,有一個特別重要的變換函數有如下的形式:


其中,w 是積分的假變量。

公式右邊是隨機變量r 的累計分布函數(CDF)。

由基本積分學中的萊布尼茲准則知道,關於上限的定積分的導數是被積函數在該上限的值。

可得到如下推導:


把結果帶入


根據推導可知,Ps(s)是一個均勻概率密度函數。

簡而言之,我們已經證明了,執行s = T(r)的灰度變換將得到一個隨機變量s ,該隨機變量由一個均勻PDF表征。


下圖說明了以上結論~



對於離散的數值,我們處理其概率(直方圖值)與求和來替代處理概率密度函數與積分。

一幅數字圖像中,灰度級rk 出現的概率近似為:


nk是灰度為rk的像素的個數。

與rk相對應的Pr(rk)圖形,通常稱為直方圖。

的離散形式為:


上式將輸入圖像中灰度級為rk的各像素,映射到輸出圖像中灰度級為Sk的對應像素得到。

變換T(rk)稱為直方圖均衡或直方圖線性變換。


因為直方圖是PDF的近似,而且在處理中不允許造成新的灰度級,所以在實際的直方圖應用中很少見到完美平坦的直方圖。因此,與連續的情況不同,通常不能證明離散直方圖均衡會導致均勻的直方圖。

直方圖均衡化,具有展開輸入圖像直方圖的趨勢,均衡后的圖像的灰度級跨越更寬的灰度級范圍。所以最終得到的結果是增強了對比度。


公式的推導較為晦澀難懂,但是直方圖均衡化的物理意義還是較為明確的。

總體思想就是,把原來灰度圖中,較為集中的灰度區間,映射到全部范圍內的均勻分布。重新分配圖像的像素值。從而增強了圖像的對比度。

這種方法對於背景和前景都很亮或者很暗的圖像有較好的效果。


以下是用VB.NET來實現的直方圖均衡化:

'直方圖均衡化
'首先應該求出圖像的灰度分布
Dim img As New Image(Of Gray, Byte)("C:\test1.bmp")
Dim height As Integer = img.Height
Dim width As Integer = img.Width
'統計每級灰度的像素個數
Dim pixelCounts(255) As Integer
For i = 0 To height - 1
For j = 0 To width - 1
pixelCounts(img.Data(i, j, 0)) = pixelCounts(img.Data(i, j, 0)) + 1
Next
Next
'統計每級灰度的累計像素個數
Dim pixelAccumulative(255) As Integer
For i = 0 To 255
For j = 0 To i
pixelAccumulative(i) = pixelAccumulative(i) + pixelCounts(j)
Next
Next
'根據像素的灰度值映射到新的灰度值
For i = 0 To height - 1
For j = 0 To width - 1
img.Data(i, j, 0) = (256 - 1) / (width * height) * pixelAccumulative(img.Data(i, j, 0))
Next
Next
img.Save("C:\直方圖均衡化\test1.bmp")


以下是實驗結果,分別是原圖以及直方圖均衡化后的結果
 

可以看到,直方圖均衡化后,圖片的對比度增加了。

再來看看變換前和變換后的直方圖。

 


圖像的直方圖也被擴展到了幾乎所有的灰度級。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com