人類視網(wǎng)膜上有三種感知色彩的視錐細(xì)胞,所以理論上我們用三種顏色的光就可以混合出自然界中任何一種顏色來。
在 20 世紀(jì) 20 年代,David Wright 和 John Guild 各自獨(dú)立地領(lǐng)導(dǎo)了一些實驗,通過三種顏色的光源進(jìn)行匹配,得到了人眼對于不同顏色光的匹配函數(shù)。此后,多名科學(xué)家多次進(jìn)行了類似的實驗,加深了我們對人類彩色視覺的認(rèn)識。
實驗過程大致是這樣的,把一個屏幕用不透光的擋板分割成兩個區(qū)域,左邊照射某個被測試的顏色的光線,這里記為C (以下用大寫字母表明顏色,用小寫字母表明分量大?。疫呁瑫r用三種顏色的光同時照射,這里記為R、G、B。然后,調(diào)節(jié)右邊三種顏色光源的強(qiáng)度,直到左右兩邊的顏色看上去一樣為止。假設(shè)這個時候三種顏色的光源強(qiáng)度分別為r、g、b,那么根據(jù)光色疊加的線性性質(zhì),我們可以寫出:
也就是說,只要按照 (r,g,b) 的分量來混合 (R,G,B) 三種顏色的光,就可以得到 C 這個顏色的光。于是在這一系列實驗里,科學(xué)家們把左邊的顏色按著光譜順序,挨個測試了一遍,得到了純光譜色的混合疊加的數(shù)據(jù),這就是 色匹配函數(shù)(Color Matching Function) ,并且在這個基準(zhǔn)下定義的色彩空間,就是 CIE RGB 色彩空間。下圖是 CIE RGB 的色匹配函數(shù)曲線,數(shù)據(jù)來自 CVLR,我重新繪制。淺色的細(xì)線代表實驗中不同參與者個人的色匹配函數(shù)曲線,中間深色的粗線代表數(shù)據(jù)的平均值。
可以看到,曲線上出現(xiàn)了負(fù)數(shù),這是怎么回事?回想一下前面描述的實驗過程,左邊是被測試的光色,右邊是可調(diào)節(jié)的三色光的混合。如果碰到一種情況,右邊三色光無論如何調(diào)節(jié)比例,都不能混合出左邊的顏色,比如某種顏色的光強(qiáng)度已經(jīng)減小為 0 了,然而看趨勢還需要繼續(xù)減小才能與左邊的光色相匹配,怎么辦?這時候需要往左邊的光色中混入三色光中的一種或者幾種,繼續(xù)調(diào)節(jié),直到兩邊的顏色匹配。在左邊(被測試)的色光中添加,那就是相當(dāng)于在右邊的混合光中減去,這就導(dǎo)致了色匹配函數(shù)曲線上出現(xiàn)了負(fù)數(shù)。實際上,這相當(dāng)于就是光線的「減法」了。
比如,對于 555nm 的黃色光,色匹配函數(shù)的值是 (1.30, 0.97, -0.01),意味著將 1.30 份的紅光與 0.97 份的綠光混合放在右邊,左邊放上 1 份的 555nm 的黃光,以及 0.01 份的藍(lán)光,這樣左右兩邊的光色看上去就一樣了。
因為有部分出現(xiàn)了負(fù)數(shù),在使用和計算上都有不方便,因此就對這個匹配函數(shù)進(jìn)行了一下線性變換,變換到一個所有分量都是正的空間中。變換后的色彩空間就是 CIE XYZ 色彩空間。
CIE RGB 色彩空間和 CIE XYZ 色彩空間是完全等價的,兩者只是差了一個線性變換。由于允許「減法」的存在,因此 CIE RGB 空間是能夠表示所有顏色的;同樣的,CIE XYZ 空間也能。