VitaBox AD

2013年12月23日 星期一

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



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

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

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


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


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


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


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

圖一

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

2 則留言:

  1. 不好意思!!!
    想請問一下為甚麼line第三行打出來他說這是個不符合matlab有效的語句

    回覆刪除