Gamma矯正與Unity 線性工作流

2022-08-01 08:57:12 字數 1669 閱讀 8394

gamma 中文伽馬,其實由來已久。本質上是乙個色彩的變換曲線,比如輸入顏色值是橫座標x變換完的顏色就是縱座標y

咦 這樣很奇怪,為什麼顏色要經過這樣的gamma 變換呢? 正常rgb(0.5,0.5,0.5) 顯示在顯示上就rgb(0.5,0.5,0.5)就好了。

幹嘛還要做gamma變換,或者統一說gamma矯正?

gamma矯正的由來,有好幾個傳送。龔敏敏 一篇《gamma傳說》文章裡面說的,大概意思我也用別人的文章說明。

在很久很久以前(其實沒多久),全世界都在使用一種叫crt的顯示裝置。這類裝置的顯示機制是,使用乙個電壓轟擊它螢幕上的一種圖層,這個圖層就可以發亮,我們就可以看到影象了。但是,人們發現,咦,如果把電壓調高兩倍,螢幕亮度並沒有提高兩倍啊!典型的crt顯示器的伽馬曲線大致是乙個伽馬值為2.5的冪律曲線。顯示器的這類伽馬也稱為display gamma。

---------------------

更通俗的說,就是顯示器沒辦法完全的按照我們給定的顏色完全還原出來。如果不做任何處理,我的**在顯示器上面顯示會顯得更暗。類似上面給的crt曲線圖。 這是乙個傳說啦。後面我們的顯示器雖然沒有crt那種電壓跟亮度變換不一樣的問題,但是為了相容以前的東西。就是相容人為設定gamma值在2.2~2.5之間。現在通常用2.2這個值。

如果顯示器一直有這個特性,那為什麼攝影,或者做圖的時候。都沒發現我們的變暗啊。其實我們攝像或者有個作圖的時候,會有個gamma的選項。

比如 我們設定0.5灰色,不做任何處理經過顯示器的gamma2.2矯正 0.5^2.2 = 0.217 這樣。為了防止色彩出現偏差。我們應該在儲存或者在製作的使用在進行乙個gamma矯正

0.5 ^0.45 = 0.729。 先人為經過一次2.2倒數gamma 的矯正。儲存成得到0.729的值。 到顯示器的時候0.729^2.2 = 0.5 這樣又回到0.5.我們設計時候想要的顏色。 

第二種網路上的傳說,就是人眼傳說。

說 我們人眼對於亮度的感覺的非線性!怎麼理解呢?就是黑色0.0 變換0.1 有點黑我們肉眼可以很敏感的感受到。但是0.8接近白色到0.9這樣的顏色變換,我們肉眼就很難區分出來。

知乎裡面有人也寫了一篇長篇文章說明這個問

《色彩校正中的 gamma 值是什麼?》

大概意思是因為是8位,只能存255 色階的灰度。但是人眼對於暗部更加敏感。我們應該用更多的資料儲存黑色部分,亮度不敏感我們應該少存點。這樣先經過0.45gamma矯正,放大的暗部的量,再經過顯示器2.2gamma矯正。

gamma工作流,就是我們日常生活中,或者攝像,攝影中。你拍到什麼顏色,或者做什麼顏色。反正器材都幫你做過一次gamma矯正,你正常顯示到螢幕上面就好。

類似這樣的流程,美術給什麼,程式不對做任何處理。該什麼顏色就輸出什麼顏色給顯示器。這樣就萬事大吉!真好。傳統遊戲基本也這樣做法。做2d,老式3d這樣也都這樣。

但是為什麼現在我們就不能這樣處理呢?

reference

Gamma曲線矯正

問題 什麼是gamma曲線矯正?gamma曲線矯正是什麼意思?gamma 曲線是一種特殊的色調曲線,當gamma值等於1的時候,曲線為與座標軸成45 的直線,這個時候表示輸入和輸出密度相同。高於1的gamma值將會造成 輸出亮化,低於1的gamma值將會造成輸出暗化。總之,我們的要求是輸入和輸出比率...

Gamma分布與逆Gamma分布

若隨機變數x的密度函式為 x 1e x,x 00,x 0g amma 0x 1e x dx則稱x服從gamma分布,記為x ga gamma分布的期望和方差e x 0x e x dx 1 1 e x2 0x 1e xdx 2 1 2 1 2v ar x e x2 e x 2 1 2 2 2 2 其中...

畸變矯正 輕度散光可以治療 矯正嗎?

什麼是散光?散光是一種常見的眼科疾病,由於進入眼睛的光線不能均勻地聚焦在視網膜上,從而導致視力模糊。散光是由異常形狀的角膜引起的,當光線穿過角膜時,它們會彎曲 折射 並且在達到視網膜之前會導致視力模糊。這種現象被稱為 屈光不正 散光是由什麼引起的?儘管尚不清楚角膜或晶狀體形狀異常的確切原因,但遺傳似...