[摘抄]淺聊RGB、YUV和HSV顏色空間模型


一、概述

顏色通常用三個獨立的屬性來描述,三個獨立變量綜合作用,自然就構成一個空間坐標,這就是顏色空間。但被描述的顏色對象本身是客觀的,不同顏色空間只是從不同的角度去衡量同一個對象。顏色空間按照基本機構可以分為兩大類:基色顏色空間和色、亮分離顏色空間。前者典型的是RGB,后者包括YUV和HSV等等。

二、RGB顏色空間

1、計算機色彩顯示器和彩色電視機顯示色彩的原理一樣,都是采用R、G、B相加混色的原理,通過發射出三種不同強度的電子束,使屏幕內側覆蓋的紅、綠、藍磷光材料發光而產生色彩。這種色彩的表示方法稱為RGB色彩空間表示。

2、在RGB顏色空間中,任意色光F都可以用R、G、B三色不同分量的相加混合而成:F=r[R]+r[G]+r[B]。RGB色彩空間還可以用一個三維的立方體來描述。當三基色分量都為0(最弱)時混合為黑色光;當三基色都為k(最大,值由存儲空間決定)時混合為白色光。

3、RGB色彩空間根據每個分量在計算機中占用的存儲字節數分為如下幾種類型:

(1)RGB555

RGB555是一種16位的RGB格式,各分量都用5位表示,剩下的一位不用。

高字節 -> 低字節

XRRRRRGGGGGBBBBB

(2)RGB565

RGB565也是一種16位的RGB格式,但是R占用5位,G占用6位,B占用5位。

(3)RGB24

RGB24是一種24位的RGB格式,各分量占用8位,取值范圍為0-255。

(4)RGB32

RGB24是一種32位的RGB格式,各分量占用8位,剩下的8位作Alpha通道或者不用。

4、RGB色彩空間采用物理三基色表示,因而物理意義很清楚,適合彩色顯象管工作。然而這一體制並不適應人的視覺特點。因而,產生了其它不同的色彩空間表示法。

三、YUV顏色空間

1、在生理學中,有一條規律,那就是人類視網膜上的視網膜桿細胞要多於視網膜錐細 胞,說得通俗一些,視網膜桿細胞的作用就是識別亮度,而視網膜錐細胞的作用就是識別色度。所以,你的眼睛對於亮和暗的分辨要比對顏色的分辨精細一些。正是 因為這個,在我們的視頻存儲中,沒有必要存儲全部顏色信號。

YUV(亦稱YCrCb)是被歐洲電視系統所采用的一種顏色編碼方法。在現代彩色電視系統中,通常采用三管彩色攝像機或彩色CCD攝影機進行取像,然后把取得的彩色圖像信號經分色、分別放大校正后得到RGB,再經過矩陣變換電路得到亮度信號Y和兩個色差信號R-Y(即U)、B-Y(即V),最后發送端將亮度和兩個色差總共三個信號分別進行編碼,用同一信道發送出去。這種色彩的表示方法就是所謂的YUV色彩空間表示。采用YUV色彩空間的重要性是它的亮度信號Y和色度信號U、V是分離的。如果只有Y信號分量而沒有U、V信號分量,那么這樣表示的圖像就是黑白灰度圖像。彩色電視采用YUV空間正是為了用亮度信號Y解決彩色電視機與黑白電視機的兼容問題,使黑白電視機也能接收彩色電視信號。

 

2、YUV主要用於優化彩色視頻信號的傳輸,使其向后相容老式黑白電視。與RGB視頻信號傳輸相比,它最大的優點在於只需占用極少的頻寬(RGB要求三個獨立的視頻信號同時傳輸)。其中“Y”表示明亮度(Luminance或Luma),也就是灰階值;而“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用於指定像素的顏色。“亮度”是透過RGB輸入信號來建立的,方法是將RGB信號的特定部分疊加到一起。“色度”則定義了顏色的兩個方面─色調與飽和度,分別用Cr和Cb來表示。其中,Cr反映了RGB輸入信號紅色部分與RGB信號亮度值之間的差異。而Cb反映的是RGB輸入信號藍色部分與RGB信號亮度值之同的差異。

 

3、像Beta或VHS之類的消費用錄像帶就得益於將錄像帶上的更多帶寬留給黑—白信號(被稱作“亮度”),將稍少的帶寬留給彩色信號(被稱作“色度”)。
在MPEG2(也就是DVD使用的壓縮格式)當中,Y、Cb、Cr信號是分開儲存的(這就是為什么分量視頻傳輸需要三條電纜)。其中Y信號是黑白信號,是以全分辨率存儲的。但是,由於人眼對於彩色信息的敏感度較低,色度信號並不是用全分辨率存儲的。
色度信號分辨率最高的格式是4:4:4,也就是說,每4點Y采樣,就有相對應的4點Cb和4點Cr。換句話說,在這種格式中,色度信號的分辨率和亮度信號的分辨率是相同的。這種格式主要應用在視頻處理設備內部,避免畫面質量在處理過程中降低。當圖像被存儲到Master Tape,比如D1或者D5,的時候,顏色信號通常被削減為4:2:2。

 

在圖中,你可以看到4:4:4格式的亮度、色度采樣分布。就像圖中所表示的,畫面中每個象素都有與之對應的色度和亮度采樣信息。
其次就是4:2:2,就是說,每4點Y采樣,就有2點Cb和2點Cr。在這種格式中,色度信號的掃描線數量和亮度信號一樣多,但是每條掃描線上的色度采樣點 數卻只有亮度信號的一半。當4:2:2信號被解碼的時候,“缺失”的色度采樣,通常由一定的內插補點算法通過它兩側的色度信息運算補充。
看4:2:2格式亮度、色度采樣的分布情況。在這里,每個象素都有與之對應的亮度采樣,同時一半的色度采樣被丟棄,所以我們看到,色度采樣信號每隔 一個采樣點才有一個。當着張畫面顯示的時候,缺少的色度信息會由兩側的顏色通過內插補點的方式運算得到。就像上面提到的那樣,人眼對色度的敏感程度不如亮 度,大多數人並不能分辨出4:2:2和4:4:4顏色構成的畫面之間的不同。


色度信號分辨率最低的格式,也就是DVD所使用的 格式,就是4:2:0了。事實上4:2:0是一個混亂的稱呼,按照字面上理解,4:2:0應該是每4點Y采樣,就有2點Cb和0點Cr,但事實上完全不是 這樣。事實上,4:2:0的意思是,色度采樣在每條橫向掃描線上只有亮度采樣的一半,掃描線的條數上,也只有亮度的一半!換句話說,無論是橫向還是縱向, 色度信號的分辨率都只有亮度信號的一半。舉個例子,如果整張畫面的尺寸是720*480,那么亮度信號是720*480,色度信號只有360*240。在 4:2:0中,“缺失”的色度采樣不單單要由左右相鄰的采樣通過內插補點計算補充,整行的色度采樣也要通過它上下兩行的色度采樣通過內插補點運算獲得。這 樣做的原因是為了最經濟有效地利用DVD的存儲空間。誠然,4:4:4的效果很棒,但是如果要用4:4:4存儲一部電影,我們的DVD盤的直徑至少要有兩 英尺(六十多厘米)。
上圖表示了概念上4:2:0顏色格式非交錯畫面中亮度、色度采樣信號的排列情況。同4:2:2格式 一樣,每條掃描線中,只有一半的色度采樣信息。與4:2:2不同的是,不光是橫向的色度信息被“扔掉”了一半,縱向的色度信息也被“扔掉”了一半,整個屏 幕中色度采樣只有亮度采樣的四分之一。請注意,在4:2:0顏色格式中,色度采樣被放在了兩條掃描線中間。為什么會這樣呢?很簡單:DVD盤上的顏色采樣 是由其上下兩條掃描線的顏色信息“平均”而來的。比如,圖三中,第一行顏色采樣(Line 1和Line 2中間夾着的那行)是由Line 1和Line 2“平均”得到的,第二行顏色采樣(Line 3和Line 4中間夾着的那行)也是同樣的道理,是由Line 3和Line 4得到的。
雖然文章中多次提到“平均”這個概念,但是這個“平均”可不是我們通常意義上的(a+B)/2的平均。顏色的處理有極其復雜的算法保證其最大限度地減少失真,接近原始質量。

 

4、關於 RGB 跟 YUV 的轉換:
計算機彩色顯示器顯示色彩的原理與彩色電視機一樣,都是采用R(Red)、G(Green)、B(Blue)相加混色的原理:通過發射出三種不同強度的電子束,使屏幕內側覆蓋的紅、綠、藍磷光材料發光而產生色彩。這種色彩的表示方法稱為RGB色彩空間表示(它也是多媒體計算機技術中用得最多的一種色彩空間表 示方法)。
根據三基色原理,任意一種色光F都可以用不同分量的R、G、B三色相加混合而成。
F = r [ R ] + g [ G ] + b [ B ]
其中,r、g、b分別為三基色參與混合的系數。當三基色分量都為0(最弱)時混合為黑色光;而當三基色分量都為k(最強)時混合為白色光。調整r、g、b三個系數的值,可以混合出介於黑色光和白色光之間的各種各樣的色光。
那 么YUV又從何而來呢?在現代彩色電視系統中,通常采用三管彩色攝像機或彩色CCD攝像機進行攝像,然后把攝得的彩色圖像信號經分色、分別放大校正后得到 RGB,再經過矩陣變換電路得到亮度信號Y和兩個色差信號R-Y(即U)、B-Y(即V),最后發送端將亮度和色差三個信號分別進行編碼,用同一信道發送 出去。這種色彩的表示方法就是所謂的YUV色彩空間表示。
采用YUV色彩空間的重要性是它的亮度信號Y和色度信號U、V是分離的。如果只有Y信號分量而沒有U、V分量,那么這樣表示的圖像就是黑白灰度圖像。彩色電視采用YUV空間正是為了用亮度信號Y解決彩色電視機與黑白電視機的兼容問題,使黑白電視機也能接收彩色電視信號。

YUV和RGB互相轉換的公式如下(RGB取值范圍均為0-255)︰
 Y = 0.299R + 0.587G + 0.114B
 U = -0.147R - 0.289G + 0.436B
 V = 0.615R - 0.515G - 0.100B
 R = Y + 1.14V
 G = Y - 0.39U - 0.58V
 B = Y + 2.03U

 

 

四、HSV顏色空間

1、HSV是一種將RGB色彩空間中的點在倒圓錐體中的表示方法。HSV即色相(Hue)、飽和度(Saturation)、明度(Value),又稱HSB(B即Brightness)。色相是色彩的基本屬性,就是平常說的顏色的名稱,如紅色、黃色等。飽和度(S)是指色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%的數值。明度(V),取0-max(計算機中HSV取值范圍和存儲的長度有關)。HSV顏色空間可以用一個圓錐空間模型來描述。圓錐的頂點處,V=0,H和S無定義,代表黑色。圓錐的頂面中心處V=max,S=0,H無定義,代表白色。

2、RGB顏色空間中,三種顏色分量的取值與所生成的顏色之間的聯系並不直觀。而HSV顏色空間,更類似於人類感覺顏色的方式,封裝了關於顏色的信息:“這是什么顏色?深淺如何?明暗如何?”

3、RGB和HSV轉換

(1)從RGB到HSV

設max等於r、g和b中的最大者,min為最小者。對應的HSV空間中的(h,s,v)值為:

h在0到360°之間,s在0到100%之間,v在0到max之間。

(2)從HSV到RGB

 

 

 

轉自:https://www.cnblogs.com/justkong/p/6570914.htmlhttps://www.cnblogs.com/ALittleDust/p/5935983.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM