rgb是我們接觸最多的顏色空間,由三個通道表示一幅影象,分別為紅色®,綠色(g)和藍色(b)。這三種顏色的不同組合可以形成幾乎所有的其他顏色。利用三個顏色分量的線性組合來表示顏色,任何顏色都與這三個分量有關,而且這三個分量是高度相關的,所以連續變換顏色時並不直觀,想對影象的顏色進行調整需要更改這三個分量才行。
自然環境下獲取的影象容易受自然光照、遮擋和陰影等情況的影響,即對亮度比較敏感。而 rgb 顏色空間的三個分量都與亮度密切相關,即只要亮度改變,三個分量都會隨之相應地改變,而沒有一種更直觀的方式來表達。
但是人眼對於這三種顏色分量的敏感程度是不一樣的,在單色中,人眼對紅色最不敏感,藍色最敏感,所以 rgb 顏色空間是一種均勻性較差的顏色空間。如果顏色的相似性直接用歐氏距離來度量,其結果與人眼視覺會有較大的偏差。對於某一種顏色,我們很難推測出較為精確的三個分量數值來表示。
所以,rgb 顏色空間適合於顯示系統,卻並不適合於影象處理,原因是rgb顏色空間的三個分量之間高度相關,可控性不佳。
【yuv種類】①描述乙個畫素的bit數不同,例如yuv444、yuv422、yuv411、yuv420;②描述乙個畫素的bit數相同,但儲存結構不同,例如對於yuv420而言,有yuv420p、yuv420sp、nv21、nv12、yv12、yu12、i420。
所以理解yuv格式時,要從bit數和儲存結構兩方面進行考察。
yuv格式有兩大類:【planar】和【packed】,對於planar的yuv格式,先連續儲存所有畫素點的y,緊接著儲存所有畫素點的u,隨後是所有畫素點的v;對於packed的yuv格式,每個畫素點的y,u,v是連續交叉儲存的。
【取樣方式】yuv碼流的儲存格式其實與其取樣的方式密切相關,主流的取樣方式有三種: yuv4:4:4,yuv4:2:2,yuv4:2:0,如何根據其取樣格式來從碼流中還原每個畫素點的yuv值是最為關鍵的地方,因為只有正確地還原了每個畫素點的yuv值,才能通過yuv與rgb的轉換公式提取出每個畫素點的rgb值,然後顯示出來。
y =(
0.257∗r
)+
(0.504∗g
)+
0.098∗b
)+
16y = (0.257* r) + (0.504* g) + 0.098* b) + 16
y=(0.2
57∗r
)+(0
.504
∗g)+
0.09
8∗b)
+16cr=
v=
(0.439∗r
)−
(0.368∗g
)−
(0.071∗b
)+
128cr = v = (0.439 * r) - (0.368 * g) - (0.071 * b) + 128
cr=v=(
0.43
9∗r)
−(0.
368∗
g)−(
0.07
1∗b)
+128
c b=
u=−(
0.148∗r
)−
(0.291∗g
)+
(0.439∗b
)+
128cb = u = -(0.148 * r) - (0.291 * g) + (0.439 * b) + 128
cb=u=−
(0.1
48∗r
)−(0
.291
∗g)+
(0.4
39∗b
)+12
8黑點表示取樣該畫素點的y分量,空心圓圈表示採用該畫素點的uv分量
顏色空間及顏色空間轉換
1.1 顏色空間介紹 rgb 顏色空間是大家最熟悉的顏色空間,即三基色空間,任何一種顏色都可以由該三種 顏色混合而成。然而一般對顏色空間的影象進行有效處理都是在 hsv 空間進行的,hsv 色 調 hue,飽和度 saturation,亮度 value 是根據顏色的直觀特性建立的一種顏色空間,也稱六...
顏色空間轉換
話不多說,說明anything include include using namespace std using namespace cv int main int argc,char argv printf n 釋放相應的影象記憶體空間 cvreleaseimage src cvreleasei...
PDF顏色空間
1,裝置相關顏色空間 devicegray devicergb devicecmyk 會因為裝置的不同使得顯示效果或者列印效果不一樣。rgb色 為紅綠藍,用於螢幕顯示,若文件中使用rgb色,在列印時自動轉為cmyk。cmyk色 為洋紅,青色,黃色,黑色,對應自然界中的四種顏料,被廣泛用於彩色印刷機,...