色彩空間

本筆記首發(fā)知乎
https://zhuanlan.zhihu.com/p/203847313
建立于 20200405
修改于 20210403
聲明:此文為個(gè)人筆記昔瞧,自己溫習(xí)勤婚,也樂在交流仪搔。如果文章中有侵權(quán)嫩码,錯(cuò)誤潮改,或者有不同的理解狭郑,煩請(qǐng)大家多多留言指點(diǎn)指正,本人會(huì)及時(shí)糾正(知錯(cuò)能改就是好孩子:P)汇在。感謝翰萨,此致崇高敬意!

目錄
一糕殉、色彩空間概念:1.1亩鬼、色彩空間,1.2阿蝶、HSL雳锋,1.3、CIE
二羡洁、圖形中常見的數(shù)據(jù)處理:2.1玷过、矯色,2.2筑煮、LDR HDR辛蚊,2.3、Linear Gamma咆瘟,2.4嚼隘、數(shù)據(jù)理論,2.5袒餐、打印機(jī)色彩空間

色彩空間概念
1.1飞蛹、色彩空間:
使用三維XYZ去表示RGB。(XYZ取值范圍為約定0-1范圍)


圖1
[圖2]
[圖3]
圖4

(圖4)灸眼,特殊說(shuō)明卧檐,當(dāng)RGB值都是同一數(shù)值是,我們定義為灰色焰宣,圖中我約定為值域介于(0,0,0)- (1,1,1)霉囚,最黑到最白,圖7匕积、圖9黑線同理盈罐。

圖5
圖6

1.2、HSL:
HSL的由來(lái)闪唆,從圖7到圖8盅粪,把攝相機(jī)放置(1,1悄蕾,1)點(diǎn)票顾,并看向(0,0,0)點(diǎn)(圖4)奠骄,再把棱形轉(zhuǎn)換成圓豆同,就能得到一個(gè)圓柱圖9。在圖9中圓柱中心的直線為灰度L含鳞,圓平面上越往外顏色越飽和S影锈。色相的變化就繞圓柱圓周邊H。(UI實(shí)現(xiàn)時(shí)得注意角度制與弧度制的轉(zhuǎn)換)
優(yōu)點(diǎn):把色彩的概念分離成色相民晒,飽和度精居,亮度,調(diào)色混色更方便潜必,更加專注靴姿。(圖10、圖11)

圖7
圖8
圖9
圖10
圖11
發(fā)展與由來(lái)
//HSV 移動(dòng)端高性能版
half3 RGBtoHSV(half3 arg1)
{
    half4 K = half4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
    half4 P = lerp(half4(arg1.bg, K.wz), half4(arg1.gb, K.xy), step(arg1.b, arg1.g));
    half4 Q = lerp(half4(P.xyw, arg1.r), half4(arg1.r, P.yzx), step(P.x, arg1.r));
    half D = Q.x - min(Q.w, Q.y);
    half E = 1e-4;
    return half3(abs(Q.z + (Q.w - Q.y) / (6.0 * D + E)), D / (Q.x + E), Q.x);
}
half3 HSVtoRGB(half3 arg1)
{
    half4 K = half4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
    half3 P = abs(frac(arg1.xxx + K.xyz) * 6.0 - K.www);
    return arg1.z * lerp(K.xxx, saturate(P - K.xxx), arg1.y);
}
// 例:fixed3 c = RGBtoHSV(c);
// c = fixed3(c.x * A, c.y * B, c.z * C);
// c = HSVtoRGB(c)
// 轉(zhuǎn)到HSV空間后磁滚,c.x分量信息為色相佛吓,c.y分量為飽和度,c.z分量為亮度垂攘。
//20200913 - 20210403 完成维雇,摘自u(píng)nity standard
摘自SD functions RGB to HSL
摘自SD functions HSL to RGB
使用方法

使用流程:RGB顏色空間轉(zhuǎn)至HSL,HSL里面做其他混合操作晒他,操作完成后吱型,使用HSL to RGB轉(zhuǎn)回來(lái)。

1.3陨仅、CIE
CIE:表示人類可以感知的所有顏色(圖12)津滞。人眼是傳感器,會(huì)把看到的顏色光當(dāng)作一系列信號(hào)傳送給大腦(圖14灼伤,15)触徐。特點(diǎn):1、相對(duì)于亮部來(lái)說(shuō)狐赡,對(duì)暗部更敏感(所以正常情況下盡量把畫面需要體現(xiàn)細(xì)節(jié)的點(diǎn)放在暗部)撞鹉,2、相于其他兩色來(lái)說(shuō)颖侄,對(duì)綠色敏感鸟雏,其次紅色,最后是藍(lán)色览祖,敏感度:綠色》紅色》藍(lán)色崔慧。
科學(xué)界標(biāo)準(zhǔn)更新:1920左右(制定光譜標(biāo)準(zhǔn)(色板))

圖12
圖13不準(zhǔn)確,只為更為方便的概念理解穴墅,拉了一個(gè)簡(jiǎn)單3D空間樣式圖

CIE色板代表的是科學(xué)界及室驗(yàn)室的,一般情況下很難有這么高的還原(高寬的色板色域),更純的顏色(硬件表現(xiàn)不出純度更高更接近科學(xué)色板)玄货,我們常聽說(shuō)高色域顯示器皇钞,可以理解比其他顯示器(普便)的三角區(qū)域更大點(diǎn),更純的顏色松捉,更接近科學(xué)界標(biāo)準(zhǔn)的色域(圖22夹界,圖24)。
因?yàn)槿祟悓?duì)不同顏色頻率波段的顏色感知敏感度不一樣隘世,所以科學(xué)家在制作CIE時(shí)可柿,把最敏感的顏色畫得最少,不敏感的顏色畫得最多丙者,以達(dá)到計(jì)算上的正確和人眼上看到的色彩自然和色活覺均勻性复斥,顏色的混合都是線性的,只要在兩個(gè)顏色間繪制作一條直線就能等同于現(xiàn)實(shí)的顏色混合(圖20)右側(cè)圖械媒。

圖14
圖15
圖16
圖17
圖18
圖19
圖20

在常用圖形DCC中目锭,常看到的是HSL(HSV)上圖左側(cè)圓形色域表示法纷捞。而從CIE轉(zhuǎn)到HSV中痢虹,會(huì)發(fā)現(xiàn)混合顏色是不怎么正確的,這也是一種弊端主儡。

圖形常見的數(shù)據(jù)處理
2.1奖唯、矯色
矯色:使之在不同設(shè)備間保持大體一樣的顏色
現(xiàn)代設(shè)備問題:


圖21,左一為高色域(HDR)顯示設(shè)備糜值,中間大屏為電影激光顯示設(shè)備丰捷,右為普通顯示設(shè)備。
圖22臀玄,幾種常見的硬件在CIE中的色域大小瓢阴。
圖23,同份資源在不同硬件空間下的表現(xiàn)健无。
圖24荣恐,不同色域的定義,起點(diǎn)位置都指上最純色累贤,只看最純色的不同叠穆,代表著色域的不同,不同硬件的色域定義臼膏。
圖25

在上圖左右能對(duì)比出因不同色域的區(qū)別硼被,而我們要做的,就是矯正調(diào)色渗磅。把右圖矯正調(diào)色到好的效果成品左圖嚷硫。

2.2检访、LDR 和 HDR
LDR
由于硬件設(shè)備的局限性和不統(tǒng)一性,所以國(guó)際做了一個(gè)標(biāo)準(zhǔn)的統(tǒng)一性--LDR仔掸。
數(shù)據(jù)處理:類似方法脆贵,RGBA為0-255,M 浮點(diǎn)系數(shù)為1/255起暮。把0-255整數(shù)范圍映射到0-1浮點(diǎn)范圍卖氨。目的是方便圖形計(jì)算,方便硬件顯示负懦。(浮點(diǎn)可以為float half)
HDR
比LDR更寬的范圍筒捺,更柔和的過渡,也屬約定統(tǒng)稱纸厉。像圖22中三種不同的范圍也都屬于HDR系吭。也只是在CIE中不同的范圍。LDR沒在CIE中畫出來(lái)残腌,他的范圍會(huì)小太多村斟。
怎么開啟HDR,以u(píng)nity為例:
A抛猫、在項(xiàng)目設(shè)置中開啟HDR
B蟆盹、在攝相機(jī)上開啟HDR
C、RT處理
優(yōu)點(diǎn):
在高強(qiáng)度區(qū)域不會(huì)丟失顏色闺金,需要使用ToneMapping
更好地支持泛光和發(fā)光效果
減少低頻光照區(qū)域的條帶
(見下文章的細(xì)節(jié)說(shuō)明逾滥,主要思路是:保證高亮區(qū)域的信息正常(圖26),并保持其他亮度區(qū)域無(wú)變化败匹。)
缺點(diǎn):
使用浮點(diǎn)渲染紋理(渲染速度較慢寨昙,需要更多 VRAM)
不支持硬件抗鋸齒(但您可以使用抗鋸齒后期處理效果來(lái)平滑邊緣,采樣后的抗鋸齒效果欠佳)
并非所有硬件都支持掀亩,最少需要3.0以上

圖26舔哪,左開啟HDR無(wú)Tone,右開啟HDR并開啟Tone

2.3槽棍、線性空間與伽馬空間
在做HDR之前需要理清捉蚤,線性空間與伽馬空間。Gamma 跟人類眼睛看到類似炼七,而自然界現(xiàn)實(shí)中是類線性的缆巧,從自然界說(shuō)Gamma空間其實(shí)是錯(cuò)誤的,但從人眼看到Gamma是正確的豌拙。在圖形計(jì)算里把陕悬,把顏色放在線性空間計(jì)算得到的結(jié)果更為正確,所以更高級(jí)而又復(fù)雜的圖形計(jì)算都是把顏色放進(jìn)線性空間內(nèi)按傅。

圖27
圖28
圖29

圖30捉超,顏色混合(存在透明度混合問題)所以看上去gamma更舒服
圖31
圖32

會(huì)存在一個(gè)棘手問題:當(dāng)帶有透明通道時(shí)胧卤,在線性空間下的不準(zhǔn)確性。一般解決方法狂秦,直接把資源先轉(zhuǎn)換到gamma空間再計(jì)算灌侣。其他光照使用線性計(jì)算,UI 和特效帶A通道的資源使用 gamma計(jì)算透明裂问,管線用線性,透明計(jì)算用gamma牛柒,如果讀者朋友有其他的好辦法堪簿,希望跟您多交流。

2.4皮壁、數(shù)據(jù)理論
生成HDR:普便見的操控?cái)?shù)據(jù)兩種方法椭更。A、把數(shù)值0-1轉(zhuǎn)存到0-無(wú)限蛾魄,這個(gè)無(wú)限屬于約定數(shù)值(約定的標(biāo)準(zhǔn)虑瀑,同理像之前只存到一個(gè)R通道,現(xiàn)在存到RGBA四通道)滴须;B舌狗、存儲(chǔ)數(shù)據(jù)時(shí),提高浮點(diǎn)位數(shù)扔水。
從HDR生成再轉(zhuǎn)成LDR痛侍,分兩步:一、寫到高范圍高精度魔市;二主届、解壓到0-1低范圍內(nèi)。
這兩步不同的地方就在于他們的M值系數(shù)不一樣待德,第一步M乘上第二步M值等于1君丁。一個(gè)數(shù)是另一個(gè)數(shù)的倒數(shù)。
真實(shí)世界的亮度對(duì)比度:是無(wú)窮薪堋(黑-0绘闷,注1)到無(wú)窮大(亮-無(wú)窮大),而解決這項(xiàng)任務(wù)涧偷,因硬件問題簸喂,我們需要做一個(gè)曲線矯正,把所有HDR的顏色空間轉(zhuǎn)換到LDR GAMMA空間0-1范圍內(nèi)燎潮。這步操作計(jì)算通常被大家叫做 GAMMA矯正喻鳄。后面出來(lái)的Tone-Mapping(色調(diào)映射),也是更高級(jí)的數(shù)據(jù)的轉(zhuǎn)換确封。圖33除呵。
真實(shí)世界是線性變化的再菊,為了模擬人視眼的非線性化感觀,做出了類似人眼的顯示器颜曾,為了達(dá)到并貼近類人眼效果就要做各種相關(guān)的模擬計(jì)算纠拔,這里面有很多部分是非線性計(jì)算的,并且都是為了簡(jiǎn)潔化的運(yùn)算泛豪。更精準(zhǔn)和更高級(jí)計(jì)算前稠诲,需把數(shù)據(jù)轉(zhuǎn)換成線性信息,再計(jì)算诡曙,計(jì)算完成后臀叙,再在最后的顯示中轉(zhuǎn)成標(biāo)準(zhǔn)gamma LDR。


圖33:HDR亮度從0到無(wú)窮大小价卤。圖中曲線示意Tone-Mapping矯正劝萤。

HDR相關(guān)特性:如果畫面對(duì)比度不是太強(qiáng),HDR的效果并不明顯(圖34)慎璧;當(dāng)對(duì)比度非常高床嫌,已高到亮部細(xì)節(jié)丟失的情況下(已超出1范圍),采用HDR并使用Tone-Mapping胸私,將會(huì)重到一個(gè)高亮范圍正常的厌处,更接近人眼所觀查的現(xiàn)實(shí)類似圖像(圖35),柔和又不失高強(qiáng)對(duì)比度盖文,不失顏色飽和度嘱蛋。

圖34:右圖經(jīng)過HDR處理后的,左邊為源圖未經(jīng)過處理的五续。
圖35:線性(亮部細(xì)節(jié)全無(wú))
圖35:亮部細(xì)節(jié)正常洒敏,并且其他區(qū)域也是正常。

對(duì)于Bloom和HDR的關(guān)聯(lián)性:在HDR 高精度內(nèi)使用Bloom計(jì)算來(lái)模擬泛光疙驾,計(jì)算完成后混合前源圖凶伙,得到結(jié)果的HDR圖,然后經(jīng)過Tone-Mapping得到LDR圖它碎;而Bloom放在HDR里面計(jì)算時(shí)有個(gè)好處是高亮處不會(huì)失去細(xì)節(jié)和顏色函荣,所以常常都會(huì)綁定使用。正常情況下Bloom和Tone-Mapping兩個(gè)功能都會(huì)拆分出來(lái)扳肛,讓藝術(shù)家自己去選擇打開和關(guān)閉傻挂,調(diào)校出更好的藝術(shù)性。并且后現(xiàn)代的Tone-Mapping ACES 做完挖息,不需要再次Gamma Pow(x, 0.4545)了金拒。

2.5、打印機(jī)色彩空間
來(lái)源:a套腹、節(jié)省印油绪抛,b资铡、并由于現(xiàn)實(shí)中顏色的疊加是越疊加越黑,所以做的是減法幢码。相片上呈現(xiàn)孔洞樣式笤休。
圖文形式記錄,理論與算法結(jié)合實(shí)踐症副。不講算法的都是流氓店雅!算法錯(cuò)誤,那就更加可怕了贞铣,可怕的半桶水還不自知底洗。如果此篇筆記,朋友您有讀到咕娄,在這感謝您的支持,如果您發(fā)現(xiàn)筆者有錯(cuò)誤的地方珊擂,希望您能指點(diǎn)出來(lái)圣勒,筆者不勝感謝。

參考資源:
1摧扇、GDC《hdr_photographic》PDF
2圣贸、各大百科
3、Unity 手冊(cè)
4扛稽、皮克斯動(dòng)畫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吁峻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子在张,更是在濱河造成了極大的恐慌用含,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帮匾,死亡現(xiàn)場(chǎng)離奇詭異啄骇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瘟斜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門缸夹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人螺句,你說(shuō)我怎么就攤上這事虽惭。” “怎么了蛇尚?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵芽唇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我佣蓉,道長(zhǎng)披摄,這世上最難降的妖魔是什么亲雪? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮疚膊,結(jié)果婚禮上义辕,老公的妹妹穿的比我還像新娘。我一直安慰自己寓盗,他們只是感情好灌砖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著傀蚌,像睡著了一般基显。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上善炫,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天撩幽,我揣著相機(jī)與錄音,去河邊找鬼箩艺。 笑死窜醉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的艺谆。 我是一名探鬼主播榨惰,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼爷狈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼板熊!你這毒婦竟也來(lái)了珊肃?” 一聲冷哼從身側(cè)響起坝撑,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤博投,失蹤者是張志新(化名)和其女友劉穎交煞,沒想到半個(gè)月后纺座,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硝枉,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狰右,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年杰捂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棋蚌。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嫁佳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谷暮,到底是詐尸還是另有隱情蒿往,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布湿弦,位于F島的核電站瓤漏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蔬充,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一蝶俱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧饥漫,春花似錦榨呆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至彻消,卻和暖如春竿拆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宾尚。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工丙笋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人煌贴。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓不见,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親崔步。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 今天感恩節(jié)哎缎谷,感謝一直在我身邊的親朋好友井濒。感恩相遇!感恩不離不棄列林。 中午開了第一次的黨會(huì)瑞你,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,564評(píng)論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,217評(píng)論 1 3
  • 表情是什么希痴,我認(rèn)為表情就是表現(xiàn)出來(lái)的情緒者甲。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了砌创,難過就哭了虏缸。兩者是相互影響密不可...
    Persistenc_6aea閱讀 125,036評(píng)論 2 7