色彩模型 color models
TRANSCRIPT
色彩模型
Color Models
影像處理Dec. 16, 2014
銘傳資工李遠坤副教授編撰
大綱
1. RGB色彩模型 RGB Color Model
2. YUV 色彩模型 YUV Color Model
3. RGB-YUV 色彩轉換 RGB-YUV Color Conversion
4. ICI 調色盤表示系統
ICI Color Palette Notation System
2
RGB 色彩模型
RGB Color Model
3
RGB色彩模型
• 色彩模型是用來表示色彩方
式, 在螢幕顯示方面, 最常見
的色彩表示方式有 RGB色彩
模型與 YUV色彩模型。
• RGB色彩模型又稱為三原色
光色彩模型, 是一種加色模型,
將不同程度的紅、綠、藍光
加在一起, 以呈現出不同的色
彩。
4
RGB色彩模型 (續)
• 在三維空間座標上, 可以用
立方體來表示不同程度的
紅、綠、藍光 :
X軸表示紅色程度,
Y軸表示藍色程度,
Z 軸表示綠色程度。
5
X
Y
Z
RGB三維空間
RGB色彩模型 (續)
• RGB三度空間上, 固定將其中一個原色為 0 , 其他兩個
原色用不同程度相加, 所呈現出來的不同平面: 綠藍、
紅藍、紅綠平面。
6
R=0 所呈現之 GB平面 G=0 所呈現之 RB平面 B=0 所呈現之 RG平面
RGB色彩模型 (續)
• Tbitmap元件型態中所使用的色彩模型就是 RGB色彩模型。
• 不同的像素格式下, 用不同大小的位元來表示 RGB 色彩。
• 當 PixelFormat = pf24bit 時, 每個像素用 8個位元來表示 256
種不同的藍色,用 8個位元來表示 256種不同的綠色,用 8個
位元來表示 256種不同的紅色, 一共用 24位元來表現出各種
色彩值。。
7
YUV 色彩模型
YUV Color Model
8
YUV色彩模型
• YUV色彩模型與 RGB色彩模型相同, 也是用三個量來描述顏
色, 分別用 Y代表亮度 (luminance), U、V代表彩度
(chrominance )。
• 早期為了將彩色電視機訊號轉成黑白電視機訊號, 因此將亮
度與彩度分開, 只要將彩度的訊號捨棄即可。
• 後來, 由於人眼對於彩度變化較不敏感的緣故, 因此可以在彩
度訊號上做縮減取樣(down sampling), 達到資料壓縮的目的。
9
YUV色彩模型 (續)
• U、V 用實數來表示, 範圍為
Y ϵ [0,1]
U ϵ [-0.436, 0.436]
V ϵ [-0.615, 0.615]
• 將亮度 Y設定為 0.5, 左圖是不
同程度的 U、V彩度變化情況。
• 正中間的點表示顏色沒有偏離特定
色彩, 故呈現灰色。越偏向外緣, 則
顏色呈現越鮮明
10
V
U
YUV色彩模型 (續)
• YUV三度空間上, 分別將亮度 Y設定為 0、0.5、1,
彩度 U、V用不同程度值, 所呈現出來的不同 UV平面。
11
Y=0 Y=0.5 Y=1
YUV色彩模型 (續)
• 就如同 RGB色彩模型一樣, 除了用實數表示之外, 也可用 8
位元的非負整數 (unsigned char) 來表示 Y、U、V值。
• 只要經過換算, 是可以將非負整數與實數間做對映的。
12
RGB-YUV 色彩轉換
RGB-YUV Color Conversion
13
RGB 與 YUV 轉換公式
• 實數空間的矩陣轉換公式:
14
B
G
R
V
U
Y
1001.051498.0615.0
436.028886.014173.0
114.0587.0299.0
V
U
Y
B
G
R
003211.21
58060.039645.01
13983.101
RGB 與 YUV 轉換公式 (續)
• 整數運算的 RGB to YUV 轉換公式: (MSDN網站提供)
Y = ( ( 66 * R + 129 * G + 25 * B + 128) >> 8) + 16
U = ( ( -38 * R - 74 * G + 112 * B + 128) >> 8) + 128
V = ( ( 112 * R - 94 * G - 18 * B + 128) >> 8) + 128
• 注意
R、G、B 與 Y、U、V 都是 8 位元整數。
但計算過程中, 會需要用到 16位元整數。
因此, 寫程式時, 必須將 R、G、B宣告成 INT資料型態。
15
RGB 與 YUV 轉換公式 (續)
• 整數運算的 YUV to RGB 轉換公式: (MSDN網站提供)
C = Y - 16
D = U - 128
E = V – 128
R = clip(( 298 * C + 409 * E + 128) >> 8)
G = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8)
B = clip(( 298 * C + 516 * D + 128) >> 8)
• Clip() 函式將 R、G、B限制在 0 ~ 255 之間, 超過此範圍將被
設定成 0 或 255。C、D、E 同樣必須宣告為 INT整數型態。
16
ICI 調色盤表示系統
ICI Color Palette Notation System
17
ICI調色盤表示系統
• 三個屬性分別為色相(Color Hue)、明度(Light Reflectance)及
彩度(Chroma)。
30 YY 08 / 726
18
色相HUE
明度LRV
彩度CHROMA
ICI 三度色彩編碼
• 色相:色彩相貌的名稱,如“紅
色”。依彩虹六大色相以反時針
方向形成色環,每一個色相編碼
由 00 至 99 劃分為 100 個色階。
19
• 例如: 30 YY 是帶有橙色調的黃色,它位於 YY色相偏
橙色的右邊位置。
ICI 三度色彩編碼
• 明度:色彩表面對光線的反射程度。
明度編碼由 00 至 99 劃分為 100 個色階。
數值越高對光的反射就越高,顏色也就愈亮。
挑選明度數值時,需考量空間光線條件,
來呈現空間的理想亮度。
20
ICI 三度色彩編碼
• 彩度:顏色鮮豔飽和的程度,其鮮濁度取決於色彩裡加入
黑、灰色的多寡。
彩度編碼由 000 至 999 ,高達 1000 個層次,
數值越高,顏色越鮮豔。
挑選彩度數值時,需考量欲傳達的空間情緒強度,
彩度越高所表現的情感越強烈。
21