1. 程式人生 > >Animate_Deng

Animate_Deng

淺談GAMMA校正

做影象處理時需要弱化光照影響。發現Gamma校正有效果,但也僅限於知道有這個指數關係,查閱了一些部落格和網站,現整理如下。

1 關於人眼和計算機

  1. 人眼對暗部細節比較敏感。

    人眼不同於攝像機,接收光子來感知光線。比如:在一間小黑屋中每增加一盞燈,攝像機都能線性增加亮度。但是人眼在黑暗時增加一盞燈時感受明顯,往後隨著燈的個數增長人眼並不會有明顯感受。如果將實驗做成圖表,如下圖所示,藍色為人眼紫色為攝像機。

    线性与非线性伽玛相机与人眼相比

    這種特性有一個生物學原因:它使我們的視野能夠在更廣泛的亮度範圍內執行。否則,我們在戶外遇到的典型亮度範圍將太大。參考以下三圖,第一幅為原始圖,第二幅為 5 bits 線性編碼的影象,第三幅為 5 bits Gamma編碼的影象。

    smooth 8-bit gradient (256 levels)

    linearly encoded gradient

    gamma encoded gradient

    一方面,可以看出Gamma編碼後的影象相比於線性編碼的影象,明顯有更多的暗部色階。這是不是說明了人和數學的和諧統一?Gamma編碼剛好滿足了人眼對暗部細節敏感的特性。另一方面,Gamma編碼後的影象色階更均勻,可以去測試線性和Gamma編碼的直方圖對比也曾現出均勻分佈的特性。

  2. 計算機中的圖片儲存和顯示通常為 8 bit,也就是256個色階。

    即:真實自然界影象 >> 影象儲存 > 顯示器輸出 < 人眼接受

通過上述兩點,受限於當下有限的儲存和顯示,需要在影象的轉移(處理)過程中儘可能保留暗部細節,用以滿足人眼的暗部敏感需求。

2 Gamma 工作流程

其實就是一個簡單的影象復現過程,因為前面提到的兩個問題,所有儲存時先進行Gamma壓縮在顯示時在Gamma還原。最後 Gamma == 1