顏色空間(1)

 


目錄

顏色空間簡述

RGB顏色空間

CMY/CMYK顏色空間

HSI顏色空間

HSV/HSB顏色空間

YUV顏色空間

YIQ顏色空間


顏色空間簡述

顏色模型是描述如何用一組值表達顏色的抽象數學模型,色域是顏色的某個完備子集,也指一個色彩系統能夠生成的顏色總和。色域與顏色模型一起定義了顏色空間。一種顏色可用一組基向量描述,顏色空間實際上就是表示顏色的空間座標系,座標系中每一個點都表示一種顏色。各種彩色成像、顯示和打印設備都具介各自的顏色空間,稱爲設備依賴的顏色空間。設備依賴的顏色空間依賴於設備的顏色特性,是與設備相關的顏色空間。CIE顏色系統是建立在人 類視覺基礎上的顏色系統,顏色的表示方法獨立於設備,稱爲設備無關的顏色空間

本文介紹設備依賴的顏色空間。目前常用的設備依賴的顏色空間可分爲兩類:面向硬件設備和麪向視覺感知。面向磺件設備的顏色空間主要有RGB、CMY/CMYK顏色空間,前者主要用於彩色顯示器、彩色照相機、攝像機和彩色掃描儀等,後者主要用於彩色打印機、印刷機、複印機等。面向人類視覺系統的顏色空間主要有HSI、HSV/HSB、YUV、YCbCr、YIQ顏色空間等。


RGB顏色空間

RGB顏色空間建立在笛卡兒座標系上,3個相互垂直的座標軸分別表示紅色(R),綠色(G),藍色(B),原點表示黑色(K),離原點最遠的頂點表示白色(W)。 將立方體歸一化爲單位立方體,這樣所有的R、G、B值都在區間[0,1]內。在這個顏色空間中,3個座標軸實際上是由3個標準正交基向量定義,從黑色K(0,0,0)到白色W(1,1,1)的灰度值分佈在從原點到離原點最遠頂點之間的連線上。RGB描述的是三原色的量值。當三原色的量值相等時,混合顏色是灰色調,分佈在從灰色到白色之間的灰度級軸上。

RGB顏色空間 圖片來源於參考書插圖

需要注意的是這裏的RGB顏色空間與CIE1931 RGB真實三原色表色系統是不同的。不同型號的顯示器顯示同一幅圖像會產生不同的色彩顯示;不同的相機採集同一景物時也會產生不同的圖像數據。因此,RGB顏色空間稱爲設備依賴的顏色空間,而CIE標準是設備無關的顏色空間。


CMY/CMYK顏色空間

青色(C)、品紅(M)、黃色(Y)是光的二次色,是顏料的三原色。原理是吸收不同比例的三原色而形成不同顏色。RGB顏色空間到CMY顏色空間的轉換是一個簡單的求補色操作:

\begin{bmatrix} C\\ M\\ Y \end{bmatrix}=\begin{bmatrix} 1\\ 1\\ 1 \end{bmatrix}-\begin{bmatrix} R\\ G\\ B \end{bmatrix}

式中,RGB數值和CMY數值都歸一化到區間[0,1]。

理論上,等量值的顏料三原色混合就形成了黑色。但是,在實際的印刷領域中,由於顏料或者紙張的問題,很難出現黑色,且成本高。爲此在顏料三原色的基礎上增加黑色(K)顏料,由青色(C)、品紅(M)、黃色(Y)、黑色(K)四種顏料混合配色,稱爲CMYK顏色空間。CMYK描述的是青色、品紅、黃色、黑色四種油墨的量值。

CMY顏色空間 圖片來源於參考書插圖

RGB和CMY/CMYK顏色空間都是面向設備的,無法按照人類視覺感知來描述顏色。例如,人類視覺不能根據三原色的量值,自動合成描述它的顏色。而HSI和HSV/HSB顏色空間是面向人類視覺的,從人類視覺系統出發,用色調H( Hue )、飽和度S( Saturation )、亮度I( Intensity) /V(Value) /B (Brightness)來描述色彩。色調是描述純色的屬性(如紅色、黃色)飽和度指色彩的純度,是描述純色加入白色的程度,加入的白色成分越大,飽和度越低。通常將色調和飽和度統稱爲色度,表示顏色的類別與純度亮度是顏色明亮程度的量度。單色圖像僅用亮度(灰度)來描述。


HSI顏色空間

在HSI顏色空間中,H表示色調,S表示飽和度,I表示亮度。將RGB顏色空間旋轉角度,使灰度級軸(主對角線)垂直於水平面,黑色頂點向下豎立。HSI顏色空間是用灰度級軸及與灰度級軸垂直相交截面的顏色軌進表示。垂直於灰度級軸的平面沿灰度級軸向上或向下移動時,由平面與立方體構成的橫截面呈三角形或六邊形。顏色立方體中的每一個點表示一種顏色。對於下圖(左)中的任意點,過該點作與灰度級軸垂直的平面,在灰度級軸上的交點即爲該顏色的亮度,該點到灰度級軸的距離即爲顏色的飽和度。但在實際計算時,要將亮度和飽和度歸一化,我們最後看到的數值已經不再是單純的距離了。隨着到灰度級軸距離的增大,飽和度增加,灰度級軸上點的飽和度爲0。灰度級軸上的顏色都是灰色的,它們只是亮度不同。

RGB顏色空間與HSI顏色空間對應關係 圖片來源於參考書插圖
在RGB顏色空間直觀理解亮度(I)和飽和度(S)

將下圖(左)所示的RGB顏色立方體沿灰度級軸自頂向下投影,可以形成如下圖(右)所示的正六邊形,稱之爲色度盤。從色度盤上可以看到,正六邊形邊上的顏色是純色,原色之間的間隔爲120^{\circ},原色與二次色之間的間隔爲60^{\circ}。每一種純色與它的補色相差180^{\circ}

RGB顏色空間與HSI顏色空間的關係 圖片來源於參考書插圖

如下圖所示的正六邊形直觀說明了色調和飽和度在色度盤上的物體意義,色度盤上的任意色度可表示爲以原點爲起點,該點爲終點的向量,向量的長度表示飽和度,向量與紅色軸的夾角表示色調。使紅色對應極座標系中0°角的位置,色調H是關於紅色軸沿逆時針方向的旋轉角度。黃色的角度爲60°,綠色爲120°,青色爲180°,藍色爲240°,品紅爲320°。飽和度S是距離原點的長度,飽和度的取值範圍爲[0,1],正六邊形邊上顏色的飽和度均爲1。色度盤也可以用三角形甚至圓形的形式表示。這些形狀中的任何一種都可以通過幾何變換而形成其他兩種形狀。注意,在色度盤上紅色區域有間斷點,偏向黃色的紅色系取值範圍爲[0°,60°],而偏向品紅的紅色系取值範圍爲[300°,360°]。雙六棱錐表面點的飽和度爲1
 

色度盤各種表示方法 圖片來源於參考書插圖
雙六棱錐模型 圖片來源於參考書插圖

通過上面的分析可以看出,HSI和RGB其實是同一物理量的不同表示方法,他們之間的關係由下式給出。

H=\left\{\begin{array}{ll}{\theta,} & {B \leqslant G} \\ {2 \pi-\theta,} & {B>G}\end{array}\right.          式中   \theta=\arccos \left\{\frac{[(R-G)+(R-B)] / 2}{\left[(R-G)^{2}+(R-B)(G-B)\right]^{1 / 2}}\right\}

S=1-\frac{\min (R, G, B)}{(R+G+B) / 3}

I=\frac{1}{3}(R+G+B)

計算時注意對RGB數值歸一化,當S = 0時,對應無色,H分量無意義,這時定義H=0,當I= 0或I=1時, H分量和S分量也無意義。


HSV/HSB顏色空間

HSV/HSB顏色空間中,H表示色調,S表示飽和度,V/B表示亮度。HSV顏色空間對應於畫家配色的方法,畫家用改變色濃和色深的方法從同一色調的純色獲得不同的顏色,在一 種純色中加入白色以改變色濃,加入黑色以改變色深。HSV顏色空間一般用六棱錐來表示。HSV顏色空間中的V軸對應於RGB顏色空間中的主對角線。六棱錐的頂點表示黑色,即(R,G,B)=(0,0,0),這時,V = 0,H分量和S分量無意義;頂面中心表示白色, 即(R,G,B)=(1,1,1),這時,S = 0、V = 1,H分量無意義。從頂點到頂面中心連線上的點表示灰色調,即R=G=B,且灰度逐漸明亮,這時,S=0, H分量無意義。

HSV顏色模型 圖片來源於參考書插圖

HSV與HSI顏色模型類似,這裏給出從RGB到HSV的轉換公式:

H=\left\{\begin{array}{ll}{\theta,} & {B \leqslant G} \\ {2 \pi-\theta,} & {B>G}\end{array}\right.          式中   \theta=\arccos \left\{\frac{[(R-G)+(R-B)] / 2}{\left[(R-G)^{2}+(R-B)(G-B)\right]^{1 / 2}}\right\}

S=1-\frac{\min (R, G, B)}{max(R,G,B)}

V=max(R,G,B)

計算時注意對RGB數值歸一化。


YUV和YIQ顏色空間是彩色電視系統所採納的顏色編碼方法,它們的共同之處在於由亮度(luminance/luma)和兩個色度(chrominance/chroma)分量構成,Y分量表示圖像的亮度(luminance)或明度(brightness)信息,其他兩個分量表示圖像的色度信息,包括色調和飽和度


YUV顏色空間

YUV顏色空間是歐洲的PAL (Phase alternating line)制式彩色電視系統所採納的顏色編碼方法。在YUV顏色空間中,Y分量表示亮度信號,U分量和V分量表示兩個色差信號B-Y和R-Y。由於YUV顏色空間中亮度信號Y和兩個色差信號U、V是分離的,發送端能夠對亮度信號和色度信號分開編碼,並在同一信道中發送出去,這種顏色編碼方法就是YUV顏色表示。 

術語YUV、YCbCr、YPbPr的範圍有時會混淆和交疊。早先, YUV用於模擬彩色電視系統中的信號編碼,而YCbCr用於數字彩色信號編碼,適合於圖像和視頻壓縮和傳輸,如JPEG和MPEG。當應用於模擬分量視頻時,YCbCr通常被稱爲YPbPr。換句話說,YPbPr是YCbCr顏色空間的模擬版本,它們在數值上等價,但YPbPr是爲模擬系統設計的,而YCbCr的設計對象是數字視頻。

RGB顏色空間到YUV顏色空間的轉換:

\begin{pmatrix} Y\\U \\V \end{pmatrix}=\begin{pmatrix} 0.299& 0.587& 0.114\\ -0.147& -0.289& 0.436\\ 0.615 & -0.515& -0.100 \end{pmatrix}\begin{pmatrix} R\\G \\B \end{pmatrix}

從YUV顏色空間到RGB顏色空間只需要YUV左乘係數矩陣的逆矩陣即可。

RGB顏色空間到YCbCr顏色空間的轉換:

\begin{pmatrix} Y\\Cb\\Cr \end{pmatrix}=\begin{pmatrix} 0.299& 0.587& 0.114\\ -0.168& -0.331& 0.5\\ 0.5 & -0.419& -0.0813\end{pmatrix}\begin{pmatrix} R\\G \\B \end{pmatrix}

從YUV顏色空間到RGB顏色空間只需要YCbCr左乘係數矩陣的逆矩陣即可。


YIQ顏色空間

YIQ顏色空間是北美、中美洲和日本的NTSC(National Television Standards Committee)制式彩色電視系統所採納的顏色編碼方法。在YIQ顏色空間中,Y分量表示亮度信號,它是黑白電視接收器惟一 接收的分量,I分量和Q分量表示色度信號,這兩個分量攜帶顏色信息。I分量代表青色到橙色的顏色變化,而Q分量代表從黃綠色到紫色的顏色變化。將彩色圖像從RGB顏色空間轉換到 YIQ顏色空間,可以將彩色圖像亮度分量與色度分量分離,以便於獨立進行處理。

YIQ顏色空間的目的同樣是參考人眼顏色響應特性。YIQ顏色空間與YUV顏色空間的主要區別在於,人眼對橙色-藍色(I)範圍內的變化比對紫色-綠色(Q )範圍內的變化更敏感,因此 Q分量比I分量需要更少的帶寬。然而,在YUV顏色空間中,U分量和V分量都包含橙色-藍色範圍內的顏色信息,需要給這兩個分量分配與I分量等量的帶寬,來保證相似的顏色的保真度。

YIQ顏色空間經常用於彩色圖像的顏色空間轉換。例如,直接對RGB圖像中的每一個顏色通道分別進行直方圖均衡化會產生新的沒有意義的顏色;然而,僅對YIQ顏色表示的Y分量進行直方圖均衡化,只改變圖像的亮度分佈,就不會發生明顯的顏色失真。

RGB顏色空間與YIQ顏色空間之間是一種線性關係,可以通過線性變換相互轉換轉換公式爲:

\begin{pmatrix} Y\\I\\Q\end{pmatrix}=\begin{pmatrix} 0.299& 0.587& 0.114\\ 0.596& -0.274& -0.322\\ 0.211 & -0.523& 0.312\end{pmatrix}\begin{pmatrix} R\\G \\B \end{pmatrix}

從YIQ顏色空間到RGB顏色空間只需要YIQ左乘係數矩陣的逆矩陣即可。


 

 

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