Gamma校訂 (Gamma Correction) 編碼
人類眼球的感光細胞中,在正常的光照環境下(非絕對黑暗和絕對明亮中),對較暗色調之間的差別,比對較亮色調的差別的反應更強烈。這個跟照相機的實際上的光照強度值是不同的,因此,人類眼球對光強度的反應是非線性的。spa
光的物理強度,指的是光源發射光子的數量。爲了讓顯示器的亮度更加適合咱們的人眼的感光強度,應該將顯示器的配置是非線性的亮度配置。3d
點線表明線性顏色/亮度值,實線指的是顯示器配置的非線性顯示曲線。blog
因此,顏色在輸出到顯示器以前,會通過Gamma校訂圖片
Gamma矯正(Gamma Correction)的思路是在最終的顏色輸出上應用顯示器Gamma的倒數。io
在圖片顯示以前對其進行gamma校訂,而後顯示器會對其進行gamma映射,配置
+
=
im
這樣的話,顯示器顯示的圖像又變回到跟以前的顏色同樣的。d3
但咱們調解顯示器的顯示光強度的時候,調解的指數雖然是線性的,但由於其自己的非線性映射,會讓咱們的人類眼睛獲得一種線性變化光強度的感受。margin
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顏色空間。