為你更新色彩觀: 直觀理解光譜和顏色【1.1】
來自專欄 照相的理論和發現
眾所周知,光線是一段成分不一的光譜,而人眼有三個色錐細胞,分別對光譜敏感。
人眼感光的過程就是下圖中乘法(內積)的過程。
這個過程大家都明白,但是如何將光譜轉換到人眼所見的顏色,卻很難直觀想像。本文的主要目的,就是提供一個這樣直觀理解它的方式。
一開始會簡要闡述,其次會講講實際應用,最後講講理論推廣。難度主要在最後一部分上。
好了,如果你聽得懂這個開頭,知道「光譜」是什麼,接下來就好辦了。
一,光的直觀理解
我們先繞過光譜,從顏色談起。人眼有三種顏色細胞,顏色就是三種色錐細胞XYZ接收到的不同的刺激,因此我們能把它所有的可能性組成構成一個三維的【色彩空間】,裡面是我們能看到的所有結果。
而任意光線的顏色,都對應著這麼一個XYZ的坐標。
而SPD(任意光譜)對人眼刺激的過程,實質上就是【色彩空間】中顏色變化的過程,
更準確的說,是每個波段對應顏色的合成過程。
假設人眼的XYZ細胞對光線的響應情況是這個樣子的,若我們先拿激光(單波長光線)去刺激人眼,從380nm一直到780nm都測一遍,因為每種波段都對應著一個顏色,把顏色互相連接,就成了【色彩空間】中的這個函數:
這就是人眼的敏感波段在【色彩空間】中的樣子。
這個圖實際上大家都見到過的,在熟悉的CIE XYZ坐標系中,中間這條標著數字的就是光譜了,它實際上是三維的。:
之後,若有這麼一段SPD作用在人眼上,它在各個波段是含量不等的,相當於變化的掃頻:
注意,每個波段上的響應程度,在顏色空間內被轉化為箭頭長度相對於100%響應的比例。
比如你在紅光段只有30%的響應,那麼在顏色空間內,就相當於指向紅光的箭頭縮小到30%.
那這麼一個光譜照射下來的最終顏色是什麼樣子的呢?我相信稍微學過物理的孩子看到箭頭們就有感覺了——我們中學學物理時,這樣三力平衡應該很常見:
同樣,SPD各個波段最終的合成就是每個箭頭的矢量相加,得到圖中結果(x,y,z)點 .對人眼而言,就被翻譯為一個顏色。
到這裡已經很明顯了。直觀上,波譜分布不同的SPD,就是波譜各波長在顏色空間內不同程度的分別累積。(x,y,z)各自相當於各波長XYZ坐標分別的累積。
至此,你應當有了一個新的「驅動」去理解光線的響應方式:
二,總結:
總得來說,三個響應波段(不重合)對光譜的響應結果,等於三維空間中,結果函數對光譜的響應。
這樣的理解方式有很多妙用。比如,若人眼對某個波段反應很強烈,那麼我們縮放結果函數中的某一軸的曲線就行。
三,實際應用衍生
此外有相關推論,如果你學有餘力的話可以繼續往下看:
1、顯色性和同色異譜:
很顯然,一個顏色的坐標有無窮多的光譜組成方式,只要最後的合相同就行。就好像鬥地主,同樣是贏,但出牌方式不一定相同。這就是同色異譜。
色溫也是一種顏色,因此同樣的色溫,不代表光譜相同。而光譜不同,照射出來的顏色就不同,因此有了顯色性的概念,下面是我校準了色溫和對比度後的效果,看得出顏色已經極大地改變了。這部分具體的文章,我已經放在了這個回答里,以後寫好了再搬回專欄。
為什麼相同色溫的光源會有不同光譜?
2、顏色的前期補償。
3、顏色的後期補償。
4、渲染中的顏色。
emmm都在上述一篇里。
還有一個應用是「色彩矩陣」——因為實際上相機的探測的顏色跟人眼並不相同,因此相機的色域其實跟人眼不同。需要經過一定的線性變換,而白平衡跟它有關,所以你弄錯了白平衡,那麼後期是很難達到自然的通透的,以後文章里說。
四,理論衍生
從線性代數的角度來說,有以下推論:
①、存在無數多個坐標軸去描述同一個結果。每個坐標軸對應一條響應譜。
②、每個結果對應無數種SPD
③、可塑造新的敏感譜,用已有的探測器探測相應波段。
④、非線性的響應譜,等於對響應譜平面外的偏移
我一個個解釋(時間緊迫,除了倒數一個外:
第一個推論: 存在無數多個坐標軸去描述同一個結果,每個坐標軸對應一條響應譜。
解釋:
很顯然,無數的波長結果能合成一個結果,而且合成的波長用三個坐標就能描述。
我們如果任選三個坐標軸, 便能構建一個新的結果空間,比如下面的軸線。
我們讓它正交化,就是掰開拉直它:
從而得到了一個新的坐標軸,原本的點 在新坐標軸下也有了新的坐標 。
這就是最基本的矩陣變換了。
想像一下,若一個立方體是原本的【色彩空間】,那麼整體上的那個正方形它也整體被一起變換了。
最重要的是,變換過程中,人眼的響應譜的結果曲線也被同樣掰了過來。
如果換成相機,那麼只要稍加變換,便能得出一個新的譜線的探測結果。
比如「亮度」(luminance),國際規定的相對光線亮度(relative luminance),是用一個響應波段如下所示的探測器去探測的。
而現在,我們只要把相機拍攝後的結果稍加組合,就能測出這個亮度。也就是這個組合:
Y=0.2126R+0.7152G+0.0722B
當然,首先你的相機得足夠理想,其次要拍攝sRGB模式,最後,還要將圖片用反相gamma處理。
第二個推論:每個結果對應無數種SPD。
解釋
:這個解釋過了。
這個很顯然,但越顯然越重要。因為我們得出一些結論:
- 給定SPD,對不同響應譜的結果可能都相同,只要能夠進行互相變換。。
然後給你們兩個習題做做,(如果覺得自己能把邏輯寫得清晰,可以私信我)可能有點小難度:
- 增加探測器的探測波段數量(如探測XYZJJ四個通道),敏感譜是一個什麼形狀?投影在原本的探測譜中是什麼形狀?SPD還是無數種嘛?如果是無數種,跟三波段下的無數種有什麼區別?本題可以和下一個推論同食。
- 同一個坐標系下若有不同響應譜(且不可互相變換而來的響應譜),同一個【結果空間】下的結果會如何變化?
- 以相機為例,如果敏感譜有一點區別,這樣造成的結果如何糾正?——提供24種標準顏色(即已知響應空間中的24個坐標),響應譜產生區別是如何扭曲這24個標準坐標的?
- 以相機為例,兩個很靠近的像素有不同的但是因為相機比較差,所以中間像素產生了混合(下圖)。請推測這個現象對spd的反推有什麼作用(已存在相關idea)。
第三個推論:可塑造新的敏感譜,用已有的探測器探測未知波段。
這個是反過來通過確定響應譜,對已有坐標系進行塑造的過程,也很顯然。想像捏弄這條響應譜(甚至包括非線性變換),整個結果空間就連著一起變化。而新的坐標軸就是你要探測波段的結果。
比如,若要構造一個探測相對亮度的響應譜:只要把下面這個曲線進行揉捏,讓它在任意一個坐標上的變化,與亮度的響應譜一致即可。
依然提出兩個小問題:
- 只給你8bit用來記錄每次響應數據,不同變換後的響應波段下的響應譜,會對精度造成什麼變化?
- 假設有個相機響應譜在人眼的結果空間中的投影是這個樣子的,請問如何修正?
- 假設翻拍一個色彩響應結果曲線為N的膠片,回答正確的校色方式。
再次感謝
@章佳傑
對我的不嗇幫助……
推薦閱讀:
※用中國的語言,講中國的故事
※如何拍出一張好照片?
※作品發布 | 仁施:拍娃指南
※同為雙攝,榮耀9和小米6誰拍的更棒?有圖有真相
※想拍好照片,要看哪些書? | 一點思路