首先在直方圖的修整,有兩種方法,一種是直方圖均衡化,另一種是直方圖規定化,用起來的話第一種方法用的比較多,這裏着重說一下第一種:直方圖均衡化.3d
咱們引入直方圖,很大程度上是能夠根據直方圖的形態來去判斷圖像的質量,好比根據下圖所示,會很快發現一張圖片是過亮仍是過暗,這篇文章會說一下直方圖均衡化的原理,至於實現,之後有機會再說吧.cdn
1.直方圖均衡化blog
直方圖均衡化是將原圖像經過某種變換,獲得一幅灰度直方圖爲均勻分佈的新圖像的方法。圖片
直方圖均衡化方法的基本思想是對在圖像中像素個數多的灰度級進行展寬,而對像素個數少的灰度級進行縮減。從而達到清晰圖像的目的。it
一些理論的東西咱們不談,直接用一個例子來講一下,會更容易理解:io
假設有一幅圖像,共有64×64個像素,8個灰度級,各灰度級機率分佈見下表 ,試將其直方圖均勻化。class
解題步驟:原理
1:肯定圖像的灰度級lazyload
在實際狀況下,若是咱們的圖像是彩色,須要將其轉換爲灰度圖像,其中的灰度級通常是0-255,這個題的灰度級只有8級,須要注意下方法
2:計算原始直方圖的機率
統計每個灰度在原始圖像上的像素所佔整體的比例,記爲Pi
3:計算直方圖機率的累加值S(i)
直到最後一個灰度級,總和爲1
4: 根據公式求取像素映射關係.
這裏的pix是指的灰度級,也就是(最大灰度級-最小灰度級)*累加機率+0.5後取整數
5: 灰度映射
找到了原圖像和均衡化圖像灰度的對應關係,對原圖進行操做,將每一個像素映射成新的像素
此時圖像均衡化已經完成,固然你也能夠再次統計灰度機率,觀察一下結果。