1. 程式人生 > >我理解的直方圖均衡化

我理解的直方圖均衡化

一個點 com alt 值範圍 分布函數 技術分享 像素 mage blog

關於直方圖的比較官方的解釋版本,建議先看看這個,挺有用,看了好幾次我就明白了:http://baike.baidu.com/item/%E7%9B%B4%E6%96%B9%E5%9B%BE%E5%9D%87%E8%A1%A1%E5%8C%96

下面是我通俗的解釋:

如下圖,是一個直方圖,橫坐標是0~255的灰度值,縱坐標是相應灰度值在圖片中的概率:

技術分享

我們來個更極端的,假如說,圖片的的灰度值都集中在第三個和第四個峰值,(縱坐標數值是不對的,這裏只是示意,忽略具體數值)如下圖:

技術分享

那麽就有這麽一個上圖的累積分布函數F,如下草圖所示:

技術分享

均衡化就是讓某灰度值數量少的點數量變得更少,讓某灰度值數量多的點數量變得更多,用縱坐標s*255代替橫坐標r,對圖像所有的點都進行這樣的操作,比如說圖像中的某一個像素值是40 ,就會變成0.1*255,像素值是80,就會變成0.8*255,像素值是160,就會變成0.12*255,等等,對每一個點都用s*255代替r。

所以:

(1)0~80的灰度值的r,都會變成0.1*255,這些點少,0~80的灰度值都會變成0.1*255,相應原來圖片中的點像素值在0~80的,都會變成0.1*255,縮小了。

(2)81~160的灰度值都會相應變化,由於數值多,所以乘以255後,映射的灰度值範圍就越廣,擴大了。

(3)161~255的灰度值的點少,相應點的灰度值就會映射到0.12*255,這一個點上,縮小了。

我哪裏有講的不對的地方,還請大家指正發起進攻(  ′-ω ?)▄︻┻┳══━一

技術分享

我理解的直方圖均衡化