色彩模型(Color Models)
色彩模式就是用來表示所有色彩的呈現方式,一般來說,我們經常使用的色彩選取介面都是以二維的平面顯示色彩樣式(如圖)。
若要完整的表示所有色彩須利用在三維空間座標,以立方體的方式來表示不同程度的紅、綠、藍(三原色)
X軸表示紅色程度 Y軸表示藍色程度 Z軸表示綠色程度
若將RGB三度空間上固定將其中一個原色為
0,其他兩個原色用不同程度相加所呈現出來的不同平面:綠藍[0,Y,Z]、紅藍[X,Y,0]、紅綠[X,0,Z]平面。
R=0所呈現之GB平面
G=0所呈現之RB平面
B=0所呈現之RG平面
常見的色彩模型主要為 RGB 色彩模式 以及 YUV 色彩模型,當然還有全彩印刷手冊中的影像會使用 CMYK 色彩模式等……。
顏色的三原色主要區分為光和顏料:
王世堅 遭諷沒中心思想…七彩顏色混一起是黑色
王世堅 遭諷沒中心思想…七彩顏色混一起是黑色
色光的三原色↓(RBG)
顏料的三原色↓(RBY)
RGB 色彩模型又稱為三原色光色彩模型, 是一種加色模型, 將不同程度的紅、綠、藍光加在一起, 以呈現出不同的色彩。
R,G,B是人類眼睛最直接接收的光彩色體系,也是掃描器的直接輸出訊號,跟印表機的R,G,Y不同。電腦用RGB三個數值各有255種變化的數值來標示顏色,亦可表示為3*224種顏色加法色系。
YUV 色彩模型是一種歐系電視所採用的顏色編碼方法,主要用於優化彩色視訊訊號的傳輸,使其向後相容老式黑白電視。採用YUV色彩空間的重要性是它的亮度信號Y和色度信號U、V是分離的。如果只有Y信號分量而沒有U、V信號分量,那麼圖像就是顯示為黑白灰度圖像,彩色電視採用YUV空間正是為了用亮度信號Y解決彩色電視機與黑白電視機的相容問題使黑白電視機也能接收彩色電視信號。
「Y」表示明亮度(Luminance、Luma)
「U」和「V」則是色度、濃度(Chrominance、Chroma)。
U、V 用實數來表示, 範圍為
|
Y ϵ [0,1]
U ϵ [-0.436,
0.436]
V ϵ [-0.615,
0.615]
將亮度「Y」設定為0.5,
左圖是不同程度的「U」、「V」彩度變化情況。
正中間的點表示顏色沒有偏向特定色彩, 故呈現灰色,而越偏向外緣顏色越鮮明。
|
||
YUV 三度空間上,分別將
亮度「Y」設定為 0、0.5、1
彩度「U」、「V」用不同程度值, 所呈現出來的不同UV平面。
|
|||
|
|
|
|
Y=0
|
Y=0.5
|
Y=1
|
|
RGB轉YUV的轉換︰
|
YUV轉RGB的轉換︰
|
[Y] = [ 0.299
0.587 0.114] [R]
[U] = [-0.148 -0.289
0.437] * [G]
[V] = [
0.615 -0.515 -0.100] [B]
|
[R] = [1 0 1.140]
[Y]
[G] = [1 -0.395 -0.581] * [U]
[B] = [1
2.032 0 ]
[V]
|
•
整數運算的 RGB to YUV 轉換公式:
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
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 的整數資料型態。
但計算過程中, 會需要用到 16 位元整數。
故寫程式時必須將 R、G、B 宣告成 INT 的整數資料型態。
•
整數運算的 YUV to RGB 轉換公式:
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)
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 的整數資料型態。
ICI 調色盤表示系統(ICI Color Palette Notation System)
以多樂士CP5調色系統為例:
顏色編號介紹CP5調色系統顏色的排列是以三維空間(色相(Color Hue)、明亮度(Light Reflectance)及色彩飽和度(Chroma))爲原理。
色相——顏色的類別
色彩系列的顏色是以下排列爲序,這就是色相。
• RR在本色扇中顏色顯示時,稱爲REDS
• YR在本色扇中顏色顯示時,稱爲ORANGES
• YY在本色扇中顏色顯示時,稱爲YELLOWS
• GY和GG在本色扇中顏色顯示時,稱爲GREENS
• BG和BB在本色扇中顏色顯示時,稱爲BLUES
• RB在本色扇中顏色顯示時,稱爲VIOLETS
明亮度——顏色的亮度
是表示一個顏色對光線的反射係數,即亮度或者暗度。係數值越高,顏色的亮度也越高,顏色就越淺。
色彩飽和度——顏色的豐滿度
係數值越高,顏色的飽和度就越高,則顏色越豐滿。
ICI Dulux COLOUR PALETTE 4 臺灣ICI得利塗料色彩系統(CP4)2016
含紅橙黃綠藍紫色與中性色系八大色系
YY / YR / RR / RB / BB / BG / GG / GY
2016色清楚標示色彩語言,方便精確選色
ICI三度色彩編碼,精準呈獻空間色彩
這個應該是程式碼最少的作業了,我們把圖片先轉成灰階,就是(R+G+B) / 3,我們把得到的這個值轉成YUV,我們要的只有Y值而已,UV填上你在YUV模型上選的顏色U是X值Y是V值,然後再把它們轉回RGB,更新畫面就完成了,主要就是當我們要更改一個影像的基底風格時,用YUV去更改會是一個很方便的做法。
沒有留言:
張貼留言