當前位置:
首頁 > 科技 > 攝影中的色彩空間原理

攝影中的色彩空間原理

周日·天文周曆|周二·專欄


周三·太空探索 | 周四·觀測指南 | 周五·天文視頻



攝影中的色彩空間原理







攝影中的色彩空間的原理


作者:章佳傑

攝影中的色彩空間原理



色彩空間基礎

作為攝影師,你是不是遇到過這樣的問題:相機設置里的色彩空間是什麼意思? sRGB 和 Adobe RGB 有什麼不同?為什麼我的圖片在 Photoshop 里看著好好的,一保存發布到網上色彩就變了?在這篇文章(以及接下來幾篇)中,我將從理工科的視角,詳細捋一捋有關色彩空間相關的概念,也算是自己的一點思考筆記。


本篇文章將分為幾個部分。首先從幾個實驗規律出發,藉助線性代數相關的概念,定義色彩空間,然後介紹並推導幾個重要的色彩空間之間的關係。


1 實驗基礎


相信大家都熟悉「三原色」理論,也知道現代顯示器是按照 RGB 模式來顯示色彩,不知道有沒有想過,為什麼是「三原色」?為什麼是「三」這個數字?為什麼一定要選擇 RGB 紅綠藍三種顏色作為原色呢?選其他行不行?用四種顏色行不行?知乎上有個問題 紅綠藍三色是(唯一的)正交基嗎? 就提出了這個疑問,我也給出過 我的回答,可以參考。

追根溯源的話,得從我們人類的視網膜說起。人類的視網膜上有三種感知顏色的感光細胞,叫做視錐細胞,分別對不同波長的光線敏感,稱為 L/M/S 型細胞。三種視錐細胞最敏感的波長分別是橙紅色(長波,Long),綠色(中波,Medium),藍色(短波,Short)。這三種視錐細胞的感光曲線如下圖所示(圖片數據來自 CVLR,我重新繪製),


視錐細胞的感光曲線

攝影中的色彩空間原理



可以看到 L 型視錐細胞與 M 型視錐細胞的感光曲線差別很小,實際上這兩種視錐細胞起源於一次基因變異,在這之前人類可都是紅綠色盲呢,多虧這個基因變異,讓人類可以看到更加多彩的世界——這又是一個龐大的話題了,就此打住。


總之,大自然的這千千萬萬種顏色,在人類的眼裡看到,最後傳送到大腦里的信號,就只有這三種視錐細胞的電信號而已。根據這三種電信號的強弱,大腦解讀成了不同的顏色。這就是三原色理論的生物學依據。


不僅如此,人類眼睛對光線的反應還是 線性 的。根據 格拉斯曼定律(Grassmann s Law),兩束不同顏色的光 C1 和 C2,假設某個視錐細胞對他們的反應分別是 r1 和 r2,現在將他們按照一個比例混合,得到第三種顏色 C3=αC1+βC2,那麼視錐細胞對這個混合顏色的反應也將是前兩個反應的線性疊加 r3=αr1+βr2。


格拉斯曼定律是一個實驗規律,並沒有物理或者生物學上的依據。然而這個規律大大簡化了我們對人類彩色視覺系統的建模,並且給我們使用線性代數理論分析人類彩色視覺系統提供了一個前提和基礎。


2 色匹配函數


前面已經提到,人類視網膜上有三種感知色彩的視錐細胞,所以理論上我們用三種顏色的光就可以混合出自然界中任何一種顏色來。在 20 世紀 20 年代,David Wright 和 John Guild 各自獨立地領導了一些實驗,通過三種顏色的光源進行匹配,得到了人眼對於不同顏色光的匹配函數。此後,多名科學家多次進行了類似的實驗,加深了我們對人類彩色視覺的認識。


實驗過程大致是這樣的,把一個屏幕用不透光的擋板分割成兩個區域,左邊照射某個被測試的顏色的光線,這裡記為 C (以下用大寫字母表明顏色,用小寫字母表明分量大小),右邊同時用三種顏色的光同時照射,這裡記為 R,G,B。然後,調節右邊三種顏色光源的強度,直到左右兩邊的顏色看上去一樣為止。假設這個時候三種顏色的光源強度分別為 r,g,b,那麼根據光色疊加的線性性質,我們可以寫出


C=r*R+g*G+b*B


也就是說,只要按照 (r,g,b) 的分量來混合 (R,G,B)三種顏色的光,就可以得到 C 這個顏色的光。於是在這一系列實驗里,科學家們把左邊的顏色按著光譜順序,挨個測試了一遍,得到了純光譜色的混合疊加的數據,這就是 色匹配函數(Color Matching Function) ,並且在這個基準下定義的色彩空間,就是 CIE RGB 色彩空間。下圖是 CIE RGB 的色匹配函數曲線,數據來自 CVLR,我重新繪製。淺色的細線代表實驗中不同參與者個人的色匹配函數曲線,中間深色的粗線代表數據的平均值。


CIE RGB 的色匹配函數

攝影中的色彩空間原理



可以看到,曲線上出現了負數,這是怎麼回事?回想一下前面描述的實驗過程,左邊是被測試的光色,右邊是可調節的三色光的混合。如果碰到一種情況,右邊三色光無論如何調節比例,都不能混合出左邊的顏色,比如某種顏色的光強度已經減小為 0 了,然而看趨勢還需要繼續減小才能與左邊的光色相匹配,怎麼辦?這時候需要往左邊的光色中混入三色光中的一種或者幾種,繼續調節,直到兩邊的顏色匹配。在左邊(被測試)的色光中添加,那就是相當於在右邊的混合光中減去,這就導致了色匹配函數曲線上出現了負數。實際上,這相當於就是光線的「減法」了。


比如,對於 555nm 的黃色光,色匹配函數的值是 (1.30, 0.97, -0.01),意味著將 1.30 份的紅光與 0.97 份的綠光混合放在右邊,左邊放上 1 份的 555nm 的黃光,以及 0.01 份的藍光,這樣左右兩邊的光色看上去就一樣了。


因為有部分出現了負數,在使用和計算上都有不方便,因此就對這個匹配函數進行了一下線性變換,變換到一個所有分量都是正的空間中。變換後的色彩空間就是 CIE XYZ 色彩空間。 (圖片數據來自 CVLR,我重新繪製)


CIE XYZ 的色匹配函數

攝影中的色彩空間原理



CIE RGB 色彩空間和 CIE XYZ 色彩空間是完全等價的,兩者只是差了一個線性變換。由於允許「減法」的存在,因此 CIE RGB 空間是能夠表示所有顏色的;同樣的,CIE XYZ 空間也能。


3 從線性空間的角度理解色彩空間


以上的實驗基礎提示我們,色彩空間和線性代數中的線性空間之間具有某種相似性。我們可以看到,由於人類有三種感知色彩的視錐細胞,自然界千千萬萬的色彩被眼睛接收後,可以用三個數值來表徵。而格拉斯曼定律也揭示了色彩疊加的線性性質。這似乎意味著,色彩空間就是一個 3 維的線性空間。事實上也的確如此(詳細的論證參見末尾小節)。


自然界本身是沒有「顏色」這個屬性的,只有對不同波長光線的反射率/透過率,到達人眼中的,顯然是一個連續的光譜分布函數。數學上,這是一個無窮維的函數空間(巴拿赫空間)。而人眼內的三種視錐細胞,它們的感光特性曲線相當於是在這個無窮維的函數空間中建立了三個基底。任何一個光譜分布進來,三種視錐細胞被激發。由於色視覺響應的線性性,這一過程相當於光譜分布函數與三個基底做內積,或者說,「投影」到這三個基底上。

攝影中的色彩空間原理



從這個觀點看,人類的色視覺,是相當於在自然界所有顏色的無窮維函數空間中取了一個三維的投影。這個三維空間的基底,既可以是視錐細胞的感光特性曲線(我們的大腦就用的是這套),當然也可以是選取三種顏色的光進行組合(CIE RGB 空間),甚至還可以是用實際中不存在的「光線」進行組合 (CIE XYZ 空間)。既然這幾個空間實際上是同一個線性空間,只不過由於選擇了不同的基底而有不同的表達形式,那麼根據線性代數的結論,這幾個空間的表述形式之間,只需要通過矩陣乘法就可以完成轉換,這是完全的線性變換。


當然,色彩空間並不是真正數學意義上的三維線性空間。由於不存在真正數學意義的「減法」,在實際應用中是有所限制的。數學中的「線性組合」在這裡就要被替換為「錐組合」,也就是每個分量都必須是大於等於 0 的。


至此我們終於可以回答開頭的部分問題了,為什麼是三原色?因為人類對色彩的感知結果位於一個三維的線性空間中。最少需要三種顏色的光才能有足夠的表達能力來表現各種顏色。為什麼選 RGB 作為三原色?因為色彩空間不是真正數學意義上的線性空間,從工程角度考慮,以 RGB 作為三原色,能讓顯示器能夠顯示更多的顏色。


4 設備相關的 RGB 色彩空間


如前文所述,色彩空間的基底的選擇有一定的任意性。事實上,如果允許真正的減法存在,那麼選擇哪三種顏色作為基底是無關緊要的。不過由於實際中我們不能對色光採用減法,只能使用「錐組合」而非「線性組合」,這時候到底如何選取基底就顯得重要了。好的基底不僅能表達的顏色更豐富,而且工程上也易於穩定地實現。


由於 CIE XYZ 空間是一個很方便的線性空間,與具體設備無關,因此常用來做各種顏色空間轉換的中間媒介。設想某個顏色的光,經過色匹配函數的計算,得到了三個 XYZ 的值,如果直接將這三個值作為 RGB 顏色顯示到屏幕上,顯然是不對的。我們必須把 XYZ 的值轉換到屏幕的 RGB 空間中的值。


公式


這裡下標 lin 代表線性空間,M 是轉換矩陣。得到線性 RGB 空間的表達之後,還需要經過 gamma 校正,才是最終在屏幕上顯示的 RGB 的值。一般的 gamma 校正過程為,其中 C 代表 RGB 的某個分量,γ 值通常為 2.2。對於如何計算的細節,我希望在下一篇文章中進行詳細說明。


對於 RGB 色彩空間來說,關鍵點在於兩個:1. 如何選擇三個作為基底的顏色;2. 如何定義白色。一旦選好這兩個關鍵參數,那麼從 CIE XYZ 空間到設備的 RGB 空間的轉換就完全確定了。我們平時常說的 sRGB 空間和 Adobe RGB 空間,他們的區別就在於這兩個關鍵參數的定義不同。常用的的 RGB 空間的轉換矩陣如下表:


表格

攝影中的色彩空間原理



不同的 RGB 空間能表示的範圍如下圖所示(這個圖在以後的文章中再詳細解釋),


不同的 RGB 空間所能表示的範圍

攝影中的色彩空間原理



可以看到,不同的 RGB 空間所能表示的顏色範圍是不一樣的,並且我們可以推斷出,即使是同樣的 RGB 分量,在不同的 RGB 空間中所代表的顏色也是不一樣的。所以我們在描述一個 RGB 顏色的時候,不僅需要描述它的 RGB 三個分量,還要說明是在哪個空間,這就是 ICC 文件的作用。


很多數碼相機都可以設置色彩空間,常見的有 sRGB 和 Adobe RGB,從上面的圖中我們可以看到, Adobe RGB 所能表達的色彩比 sRGB 要豐富很多。然而常見的網路環境下圖片的色彩空間是 sRGB,有很多瀏覽器不能正確地解析圖片自帶的色彩空間說明,默認按照 sRGB 來進行解析。如果使用相機直出的 JPG 文件直接上傳,或者說在後期處理過程中沒有進行色彩空間轉換,保留了相機設置的 Adobe RGB 空間,那麼在瀏覽器中看到的圖片很可能與 Photoshop 中看到的不一樣。瀏覽器很可能會將一張 Adobe RGB 空間中的圖片解釋為 sRGB 空間下的圖片,引起顏色偏差。所以我的建議是,對用於網路交流目的的圖片,統一轉換到 sRGB 中進行保存。

攝影中的色彩空間原理



5 有關色彩空間是線性空間的數學論證


回顧一下線性代數中構成線性空間的幾個要素:


交換律:x+y=y+x


結合律:(x+y)+z=x+(y+z)


這兩條容易理解,顯然,交換不同色光疊加的順序並不會改變疊加的結果。


這一點也很好理解,加法零元就是全黑,什麼光都沒有。任何一種色光疊加一個全黑那還是它自身。


加法逆元:?x,?(?x),x+(?x)=0


回想前文對實驗中需要「負數」數量的光的處理手法,我們可以在左邊疊加光線,這就相當於在右邊減去光線。如果承認這種形式的「減法」,那麼加法逆元也是順理成章了:在另一邊加入自身。


乘法幺元:?1,?x,1?x=x


這也很明顯,數字 1 就可以作為乘法幺元。


乘法分配率:


?x,y,α,s.t.α(x+y)=αx+αy


?α,β,x,s.t.(α+β)x=αx+βx


根據格拉斯曼定律,這一點也是實際上成立的。


綜上所述,人類對色彩的感知在實驗層面滿足線性性質,人眼感知的色彩空間是一個線性空間。當然,容易想見,通常我們選取的基底(比如 CIE XYZ 空間的色匹配函數),是不正交的。


責任編輯:解仁江


打賞是美德


謝謝閱讀


『天文濕刻』 牧夫出品


微信號:astronomycn

攝影中的色彩空間原理



耶魯大學的蜻蜓望遠鏡


請您繼續閱讀更多來自 牧夫天文論壇 的精彩文章:

卡西尼的「終極任務」
12月精彩視頻天象觀測指南
發現了可能存在地外生命的系外行星
你見過亮度會變化的恆星嗎?
HDR入門基礎

TAG:牧夫天文論壇 |

您可能感興趣

色彩的空間透視
攝影 色彩與暗影
攝影藝術中的色彩聯想
風景油畫色彩的基本原理
民間美術色彩口訣 傳統的色彩搭配原則
空間 秋天的色彩
空間|秋天的色彩
民間美術色彩口訣(傳統的色彩搭配原則)
油畫色彩的空間表現
色彩——繪畫與電影中組合會產生的心理效應
暗黑系電影海報攝影作品,黑暗中的一抹色彩
用色彩維繫空間
空間|麵包店的色彩
基礎染髮色彩學的原理
空間 麵包店的色彩
空間|古典的裝飾 現代的色彩
室內設計中色彩的魅力!
朴縝的中國色彩
色彩影響情緒