音視頻基礎_4_色彩和圖像的基礎知識

色彩和圖像的基礎知識

色彩的物理原理

我們小時候都學過,物體會反射太陽光,太陽光進入人眼之後,人可以看到各種物體。

牛頓最早做過三棱鏡分解太陽光的實驗,太陽光可以分解爲七種顏色,各色光因其所形成的折射角不同而彼此分離,就像彩虹一樣。後來人們通過實驗證明,七色光中的橙色光,黃色光,青色光,紫色光還可以繼續分解,而紅(R,Red)綠(G,Green)藍(B,Blue)三種色光無法被分解,故稱爲三原色光。另外,白光就是由等量的三原色光混合而成的。

RGB 色彩模式與顯示器原理

**RGB 是光的三原色,RGB 三種色光經過混合,便可以呈現各種顏色的光。**顯示器就是利用這種原理進行成像的。顯示器上有很多發光的像素點,假設一部手機屏幕的分辨率是1280×720,說明水平方向有720個像素點,垂直方向有1280個像素點,所以整個手機屏幕就有1280×720個像素點(這也是分辨率的含義)。每個像素點都由三個子像素點組成(如下圖所示),每個子像素點發出不同強度的RGB色光,混合之後便可以形成各種顏色的光線,這些光線照射到人眼中,就成爲了人們看到的圖像。
各種顯示器
使用 RGB 三原色光表示色彩的方法被稱爲 RGB 色彩模式

CMYK 色彩模式

上面我們說到,RGB 是光的三原色,可用於顯示器的顯示。實際生活中,除了顯示器,我們還需要在印刷品上顯示顏色,此時肯定沒法使用 RGB 色彩模式了,因爲紙張不會發光,只能反射光。

印刷行業使用 CMYK 色彩模式,其中 CMY 分別表示青色(Cyan,也叫天藍色),品紅色(Magenta,也叫洋紅色),黃色(Yellow),K 表示黑色。CMY 可以稱爲顏料的三原色。CMY 三種顏色按照不同的量混合,便可以形成各種顏色,如果等量混合則可以產生一種類似黑色的顏色,但不是純黑色,使用三種顏料調配黑色太浪費了,所以引入了單獨的黑色(K)。

CMYK 色彩模式根據不同顏色的百分比值進行混合,可以產生不同的顏色,四種顏色的混合量從 0% 到 100%。由於 CMYK 色彩模式和計算機圖像處理關係不大,我們不再做過多的介紹。

像素和分辨率

上面我們提到了像素這個概念,在顯示器上,像素是最小的顯示單位,一個像素同一時間只能顯示一種顏色。

說到像素就不得不提分辨率,分辨率指的則是橫向和縱向的像素個數,當我們說顯示器分辨率是 1920 * 1080 時,指的就是這塊顯示器橫向有 1920 個像素,縱向有 1080 個像素。

而在計算機圖像中,像素是圖像的最小單位,是純色的方格。我們說一幅圖片的分辨率是 480*800,則是指這幅圖片橫向有480個像素,縱向有800個像素。

而屏幕或圖像的寬高比(Aspect Ratio)則是橫向像素數除以縱向的像素數。

位圖與矢量圖

說到像素,又不得不提位圖。位圖(Bitmap)也叫點陣圖,是由像素點組成的圖像。我們在電腦,手機上看到的圖片基本上都是位圖。位圖都是由像素點組成的,當一幅位圖不斷地被放大,我們會發現位圖逐漸失真了,最終會看到一個個純色的方塊,這就是像素被放大後的樣子。

與位圖相對應的是矢量圖,矢量圖是由數學公式描述的,比如拋物線,橢圓,貝塞爾曲線等等。矢量圖不會因爲放大或縮小而失真,因爲它本質上是數學公式,和像素以及分辨率無關。但是要注意,由於屏幕本身是由像素點構成的,所以如果屏幕本身的像素點極大,在展示矢量圖時,可能會有鋸齒現象,但是這和矢量圖無關,是屏幕的問題。

常見的矢量圖軟件有 CorelDRAW,Illustrator,以及 Flash 動畫軟件。

色域(色彩空間)

人眼能看到多少種顏色?或者說世界上有多少種顏色?這個是無法計算的,可以說是無數種,因爲RGB三色光混合時,可以有無數種混合方式。

但是顯示器不可能顯示出世界上所有的顏色。前面我們講顯示器的原理時,RGB 三種子像素可以發出不同強度的色光,這個強度是有範圍的。現在常見的顯示設備,RGB 發光強度都被分爲 256 級,即 0 -255,如果三者發光強度都是 0, 則顯示器不發光,是黑色;如果三者發光強度都是 255,則顯示器顯示白光。其實任意等量的RGB光混合後都是白光,但是由於顯示器本身爲黑色,所以看上去是不同程度的灰色。 另外,將自然界的三原色光分爲256個級別,這本身包含了一個採樣和量化的過程,這裏不再贅述。

那麼顯示器能夠顯示的所有顏色數量則是:256 * 256 * 256 = 16777216,一千六百多萬種顏色,可以說是非常龐大了,人眼甚至無法分辨絕大多數相近顏色的區別。 如果我們提升顯示器元器件的發光強度級別,是否就可以顯示更多顏色了呢?理論上確實是這樣,但是沒有必要,現有的RGB色彩模式能夠顯示的顏色已經足夠了。

但是到底什麼顏色是紅色,什麼顏色是綠色,藍色?顯示器應該怎樣顯示純粹的紅綠藍?這也是問題,因此有了微軟/惠普的 sRGB 和 Adobe 公司的 Adobe RGB 等色彩標準,二者在RGB的標準定義上有所不同,這裏不細講了。另一方面,由於不同的顯示器的性能,工藝,規格不同,很多顯示器並不能呈現理論上所有的顏色。在同樣的發光等級下發出的光,不同顯示器顯現的顏色也略微不同,好的顯示器顏色飽滿豔麗,接近真實感受,差的顯示器顏色昏暗,不真實。衡量顯示器好壞的一個方面就是看它對不同的顏色標準的支持程度(100% sRGB,90% Aodbe RGB等等)。

那麼接下來介紹一個概念:色域。一個技術系統能夠產生的顏色的總和,被稱爲色域,也叫色彩空間(Color Space)

RGB 顯示技術的色域就是 16777216,(這種說法並不嚴謹,準確來說色域並不是數值,而是範圍,RGB 只是色彩模式,sRGB 和 Adobe RGB 才能被稱爲色域,且二者色域不同),已經非常龐大了,對於人眼來說是足夠了。然而即使一臺顯示器能夠100%呈現RGB色彩模式下的所有顏色,由於RGB色彩模式本身的限制,仍不能表示世界上的所有顏色。

LAB 色彩模式

爲此,人們發明了另一種色彩模式:Lab色彩模式。Lab色彩模式是由國際照明委員會(CIE,International Commission on Illumination)於1976年公佈的一種色彩模式。Lab 描述的是顏色的顯示方式,而不是設備(如顯示器、打印機等)生成顏色所需的特定色的數量,所以 Lab 被視爲與設備無關的顏色模型。 Lab顏色模型由三個要素組成,一個要素是亮度(L),a 和b是兩個顏色值。a包括的顏色是從深綠色到灰色再到亮粉紅色(高亮度值);b是從亮藍色到灰色再到黃色。

關於Lab的詳細解釋如下(可以跳過不看):

人在看物體時,首先看到的是明暗,次之是色彩。Lab 模式就是這樣的,一個反映明暗的明度通道(L 通道)和兩個顏色通道(a、b 通道)。 L 通道就是明度通道,其中有暗區、中間調及高光區之分。L 通道可以用來調整照片的亮度,而且當對它進行調整時,圖像的顏色是不會發生變化的。
a 通道顯示的顏色範圍是:深綠色-50%灰(中性灰)-亮粉紅色。在這個通道的灰度圖中,暗調部分,即小於"50%灰"(色階值爲128)表示綠色。而且在灰度圖中顏色越暗,即越低於"50%灰",綠色的飽和度就越高;顏色灰度值越接近"50%灰",綠色的飽和度就越低。同時,亮調部分,即大於"50%灰"(色階值爲128)表示紅色。顏色越亮,紅色飽和度越高,反之,越接近"50%灰",紅色的飽和度越低。
b 通道顯示的顏色範圍是: 藍色—50%灰(中性灰)—黃色,在這個通道的灰度圖中,暗調部分,即小於"50%灰"(色階值爲128)表示藍色。而且在灰度圖中顏色越暗,即越低於"50%灰",藍色的飽和度就越高;顏色灰度值越接近"50%灰",藍色的飽和度就越低。同時,亮調部分,即大於"50%灰"(色階值爲128)表示黃色。顏色越亮,黃色飽和度越高,反之,越接近"50%灰",黃色的飽和度越低。
當對a、b 顏色通道進行調整時, 圖像只會有相應的色彩變化,而不影響圖像的明暗。

Lab 色彩模式有相應的數學模型,如下圖所示
Lab數學模型
由於在數學模型中,三個分量值都是連續的,所以Lab色彩模式理論上可以表示自然界所有顏色,所以它的色域也是最廣的,RGB,CMYK 等色域都被包含在 Lab 色域中,如下圖所示:
在這裏插入圖片描述
但是,無論採用哪種色彩模式,最終呈現在顯示器上的顏色,都是 RGB 色彩模式。Lab 雖然理論上支持所有顏色,但是在計算機中,會對取值進行量化,L 的取值爲範圍爲0到100,a 和 b 的取值範圍爲 -128 到 +127。這樣算起來, 似乎還不如 RGB 表示的色彩多。

那是否可以說 Lab 沒什麼意義了呢?其實並不是這樣的,在數學模型中,任何 RGB 顏色都可以表示爲不同的 Lab 顏色,只是爲了人們使用方便,對數值進行了量化處理。另外,Lab 更多的意義在於,由於它的色域最大,在色彩管理系統中可使用 Lab 作爲色彩標準,將顏色從一個色域轉換到另一個色域。

視覺感受與 HSB 色彩模式

人類更習慣這樣去描述一個顏色:它是什麼顏色?是鮮豔還是暗淡?而 RGB 色彩模型是通過不同量的 RGB 色光來描述一個顏色的,對人類來說很不直觀,難以理解。

因此,人們又發明了一種色彩模式:HSB 色彩模式,也叫 HSV 色彩模式(二者一樣,只是叫法不同)。其中,H(hue)表示色相(色度),S(saturation)表示飽和度(純度),B(Brightness)表示明度。色相,飽和度,明度可被稱爲色彩的三要素,這是基於光學和色彩心理學給出的三個特性。

HSB 色彩模式以人類對顏色的視覺感受爲基礎,描述了顏色的三種基本特性(也有相應的數學模型以及和 RGB 的轉換方法,這裏不再給出)。在計算機中,HSB 色彩模式將顏色三要素進行量化,色相以角度(0°-360°)表示,飽和度和明度以百分比值(0%-100%)表示。由於 HSB 最符合人眼的視覺感覺,這種色彩模式在CG繪畫中非常常見,在一些繪圖軟件中,你會看到如下的調色盤:
HSB調色盤
這就是基於 HSB 色彩模式的調色盤,選取顏色時,使用這樣的調色盤,要比修改 RGB 值直觀得多。

另外,在 PS 中,當你選取顏色時,可以看到各種色彩模式的表示方法:
PS中的各種色彩模式
最後,與 HSB(HSV)類似的還有一種色彩模式:HSL,原理上類似,具體細節就不再介紹了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章