今天看到一篇對我很有幫助的文件,給大家轉轉。
ycbcr以極座標表示,則chroma和hue的計算公式如下:
chroma = sqrt(cb^2+cr^2)
hue = arctg(cr/cb)
下面我們給出了6種顏色的c與h的值:
r g b y cb cr c h
red 255 0 0 76 84 235 250 72
blue 0 0 255 29 235 106 257 24
green 0 255 0 150 42 18 45 24
yellow 255 255 0 226 0 150 150 270
cyan 0 255 255 179 172 0 172 360
magenta 255 0 255 105 214 235 319 50
那麼現在我們就有了最基本的調整關係公式了。
在ycbcr空間中,一般情況下我們進行調整都是利用乙個調整矩陣來實現的:
| y' | |k1 k2 k3| | y|
|cb'| =|k4 k5 k6| * |cb|
|cr' | |k7 k8 k9| |cr|
這裡我們主要調整的就是這個矩陣的各個引數了,我們一般調整的物理引數主要有:contrast,cb_gain,cr_gain,hue這幾種引數,那麼這幾個引數是如何作用的呢?下面乙個乙個來說吧:
contrast:這個引數只需要調整第一行即可,一般的調整範圍在(0~4)之間;
cb_gain:需要調整的是就是第二行了,範圍大致也在(0~4);
cr_gain:這個與cb_gain類似,調整的是第三行,範圍(0~4);
hue:這個的調整是比較麻煩的,因為這個是在極座標系內處理的,而從公式看,它又與cb和cr都有關係,但與y無關。一般來說tan(hue)=k6/k5=-k8/k9。調整的時候由於還要考慮到chroma的歸一問題,所以還要進行如下限制:
k5^2+k6^2=1(不考慮cb_gain的時候)
k8^2+k9^2=1(不考慮cr_gain的時候)
這時候在上面的兩個限制前提下,再加上tan(hue)=k6/k5=-k8/k9,我們就可以按照hue(0~360)來一度一度的進行調節了。
管理表空間中的空間
空間管理在多個級別進行。第一,將空間分配給表空間。這通過設定資料檔案的大小來完成。第二,將表空間中的空間分配給段,這通過分配區間來完成。第三,將段中的空間分配給行,這通過維護那些跟蹤每個塊中的空閒空間量的位圖來完成。5.3.1 區間管理 區間管理方法為每個表空間設定,應用於表空間中的所有段。可以使用...
RGB與YCbCr顏色空間的轉換
y 明亮度 luminance或luma 也就是灰階值。亮度 是透過rgb輸入訊號來建立的,方法是將rgb訊號的特定部分疊加到一起。u v 色度 chrominance或chroma 作用是描述影像色彩及飽和度,用於指定畫素的顏色。色度 則定義了顏色的兩個方面 色調與飽和度,分別用cr和cb來表示。...
RGB與YCbCr顏色空間的轉換
y 明亮度 luminance或luma 也就是灰階值。亮度 是透過rgb輸入訊號來建立的,方法是將rgb訊號的特定部分疊加到一起。u v 色度 chrominance或chroma 作用是描述影像色彩及飽和度,用於指定畫素的顏色。色度 則定義了顏色的兩個方面 色調與飽和度,分別用cr和cb來表示。...