1. 程式人生 > >Gamma校正 (Gamma Correction)

Gamma校正 (Gamma Correction)

人類 正常 系統 概念 校正 感覺 mil bsp img

Gamma校正 (Gamma Correction)

人類眼球的感光細胞中,在正常的光照環境下(非絕對黑暗和絕對明亮中),對較暗色調之間的差異,比對較亮色調的差異的反應更強烈。這個跟照相機的實際上的光照強度值是不一樣的,所以,人類眼球對光強度的反應是非線性的。

光的物理強度,指的是光源發射光子的數量。為了讓顯示器的亮度更加適合我們的人眼的感光強度,應該將顯示器的配置是非線性的亮度配置。

技術分享圖片

點線代表線性顏色/亮度值,實線指的是顯示器配置的非線性顯示曲線。

所以,顏色在輸出到顯示器之前,會經過Gamma校正

Gamma矯正(Gamma Correction)的思路是在最終的顏色輸出上應用顯示器

Gamma的倒數。

在圖片顯示之前對其進行gamma校正,然後顯示器會對其進行gamma映射,

技術分享圖片+ 技術分享圖片 = 技術分享圖片

這樣的話,顯示器顯示的圖像又變回到跟之前的顏色一樣的。

但我們調解顯示器的顯示光強度的時候,調解的指數雖然是線性的,但因為其本身的非線性映射,會讓我們的人類眼睛得到一種線性變化光強度的感覺。

Gamma的概念是非線性的,其符合指數定律:

技術分享圖片

可以轉變為:

技術分享圖片

其中,r就是gamma值。

舉個例子:其中暗紅色(0.5, 0, 0), 經過gamma correction之後變成

Math.pow((0.5, 0, 0), 1/2.2) = (0.73, 0, 0)

在很多的計算機顯示系統中,圖片被

gamma=0.45進行編碼而被顯示器進行gamma=2.2的解碼。很多顯示系統都使用了sRGB顏色空間,基於gamma2.2的顏色空間被成為是sRGB顏色空間。

Gamma校正 (Gamma Correction)