1. 程式人生 > >[Matlab]如何強化圖片內區域性區域的對比度? 直方圖均衡化(Histogram Equalization)

[Matlab]如何強化圖片內區域性區域的對比度? 直方圖均衡化(Histogram Equalization)

 

人類文明伴隨著科技日新月異的發展,巨大的資訊量和永遠不夠用的時間的問題想必困擾著每個人。各種資訊平臺,包含電子媒體的新聞發布或是智慧手機內的社群Apps和新聞雜誌Apps等等,大多採用影象式的設計介面,讓使用者藉由影象式閱讀以達到有效率地消化資訊。換句話說,影象式閱讀儼然已成為現代人吸收資訊的方式之一。

 

然而面對一張過暗或模糊的圖片,等同於無法正確取得圖片內含的資訊,勢必得經過一些處理,使得圖片內含的資訊得已顯現。直方圖均衡化(Histogram Equalization)正是可以用來處理圖片區域性過暗的方式之一,其藉由畫素個數的累積特性(單調遞增函式)將灰階直方圖進行拉伸,在拉伸過程中,畫素個數之間的關係不會改變,只會將個數重新分配到新的灰階值上,以增強圖片的對比度。

 

a.上左圖是用手機簡單拍攝的計算機照片,刻意藉由周遭物體影子遮蔽計算機部分的按鍵數字,使其不容易一眼就被辨識出來。

b.上右圖是上左圖的灰階直方圖分佈。

c.下左圖是藉由直方圖均衡化處理後的圖片,很明顯地,計算機上所有按鍵數字一清二楚,一眼即可被辨識出。

d.下右是下左圖的灰階直方圖分佈,相較於上右圖,該分佈明顯被重新分配到灰階軸上,但個數關係不會改變。

 

圖一是利用matlab簡易實現直方圖均衡化的程式碼,其中Origin_A.jpg即是原圖檔名,原圖檔為8位元灰階圖檔。

 

圖一

 

參考資料: 直方圖均衡化-維基百科

 

-----如果文章對您有幫助,開啟微信掃一掃,請作者喝杯咖啡。-----