影象處理基礎02直方圖均衡化的推導和程式設計實現
阿新 • • 發佈:2018-12-15
1 簡介
- 直方圖均衡化是將影象轉化為另一幅影象,轉化後圖像畫素值的分佈更接近均勻分佈。原本影象的畫素值(灰度值)可能集中在某一區域,這樣我們看到的影象其實是比較模糊的,灰度沒有層次感。直方圖均衡化能夠增加影象灰度值的動態範圍,從而達到增強影象對比度的目的,使影象看起來更清晰。
- 直方圖均衡屬於空域影象增強,但並沒有考慮影象的空間資訊。但是又能得到很好的視覺效果,很有意思。
2 推導
- 首先明確我們的目的是得到一個變換關係來對影象進行變換,具體為對所有值為r的畫素點,將r改為s: 通過變換,改變了每種灰度級的個數,變換後圖像的灰度級符合均勻分佈。
- 岡薩雷斯的書裡給了幾個公式,但沒有推導過程,直接給出了 的公式(書中的式3.3-4),並做了證明,證明使用(3.3-4)變換後的影象,灰度級符合均勻分佈。其實根據證明過程也可以知道 是如何得出的。
- 那麼 是如何得出的? 用和 表示r和s的概率密度(PDF),則有以下性質(3.3-3): 的意義是區間上的概率,同理。顯然兩者是相等的。可以通過下圖理解一下,下圖的應為, 應為。
則有 因為為均勻分佈,即,為灰度級數(一般為256),所以 即得到了(3.3-4)。顯然上式就是求r的分佈函式,然後乘上。
- 對一張影象,其均衡化後的影象是唯一的,可以利用這一點來進行直方圖匹配(規定化)。
3 程式設計實現
- 實際上影象中的畫素值是離散隨機變數,那麼有 其中 為畫素點總數, 為畫素值為j的畫素點數量,為灰度級數。注意,得到的可能是小數,所以得到的可能為小數,灰度值為小數時也可以顯示,但如果要求得到的資料為指定位數(如8位)那就進行取整。