劉正岐+郭濤
摘 要:以RGB顏色模式為例,以九宮格為生成對比色目標(biāo),利用全組合算法建立數(shù)字化配色方案模型,根據(jù)不同基值對結(jié)果進(jìn)行設(shè)置,完成了無限組合配色方案的有限生成方案。為配色方案圖譜提供了一種便捷的生成算法,適合網(wǎng)頁設(shè)計、平面設(shè)計、服裝設(shè)計,甚至在服裝搭配、家居設(shè)計和家具搭配等方面都具有應(yīng)用價值。
關(guān)鍵詞:數(shù)字化配色方案;圖像處理;全組合算法;對比色
中圖分類號:TP311 ? ? ? ?文獻(xiàn)標(biāo)識碼:A ? ? ? ? ? 文章編號:2095-1302(2014)12-00-02
0 ?引 ?言
所謂配色,就是色彩按照形式美的法則搭配,達(dá)到一種和諧一體的效果。在實際應(yīng)用中,色彩是通過人的印象或者聯(lián)想來產(chǎn)生心理上的影響,通過簡單的色譜很難實現(xiàn)這一點,這些藝術(shù)通感形成的多種多樣的法則如對稱、均衡、節(jié)奏、韻律、對比、比例、主從、尺度、明暗、虛實、多樣統(tǒng)一等。而配色的作用就這在這些法則的指導(dǎo)下,通過特定環(huán)境和方式的展示來滿足人們各方面的要求[1]。
配色主要有兩種方式,一是直接通過固定色彩的對比達(dá)到配色的效果;另一種是通過色彩的變換給人以心理層面感觀傳達(dá),從而達(dá)到配色的效果。各種配色方案的組合是無窮的,不可能全部羅列[2]。
本文通過計算機光學(xué)原理進(jìn)行分析,針對對比色的配色方案的生成技術(shù)進(jìn)行研究,利用RGB色彩的數(shù)字化變換、全組合編碼算法等技術(shù)在九宮格中實現(xiàn)對比色無限組合的有限自動生成方案。
1 ?數(shù)字化配色方案原理
光學(xué)三原色是由紅、綠、藍(lán)組成,顏料三原色由紅、黃、藍(lán)組成,由于計算機對于色彩是基于色光處理,而其色彩模式有RGB、CMYK、LAB、HSB等。本文以RGB顏色模式為例,利用全組合編碼算法建立數(shù)字化配色方案模型,實現(xiàn)對比色配色方案的自動生成[3]。
2 ?色彩模型分析
2.1 ?對比色基本圖譜
對比色配色方案基本圖譜一般是“回”字形,用數(shù)字化定義可采用九宮格來實現(xiàn)。主色在九宮格中央,背景色分布在周圍,在視覺上形成“回”字形圖譜[4]。為研究方便,在圖譜的下面6個單元格分別標(biāo)注主色和背景色的數(shù)值,如圖1所示:
圖1 ?對比色基本圖譜數(shù)字化模型
2.2 ?配色方案基值
如果按照等差數(shù)列的方式生成配色方案,則需要分析RGB的數(shù)值范圍:
R:[0,255] ? G:[0,255] ? ?B:[0,255]
24位RGB顏色發(fā)色數(shù)是1 677萬多色,其中R、G、B的數(shù)值都在0~255之間,通過R、G、B的等差增長來實現(xiàn)全組合配色方案。若選用128做為公差,那么R、G、B分別可以選擇0、128、255三種數(shù)值,其單色全組合需要27種。因為對比色是由主色和原色構(gòu)成,那么配色方案需要27*27=729種??梢赃@樣定義:
設(shè)公差為c,分段數(shù)為int(255/c),必須包括首尾0和255,則增量n為int(255/c+2);
主色(或原色)總數(shù)S為:S=3^int(255/c+2);
對比色配色方案數(shù)N= S* S=3^(int(255/c+2)+int(255/c+2));
根據(jù)全組合編碼算法,R/G/B的計算為:(ΔR/G/B Mod 3)*c
主色(或原色)的數(shù)值為:RGB((ΔR Mod 3)*c,(ΔG Mod 3)*c,(ΔB Mod 3)*c)
但是公差不一定是255的約數(shù),尤其是以二進(jìn)制為基礎(chǔ)的計算機中,如32、64、128都是以2為底的n次方的數(shù)值,這些數(shù)值一般很容易做為公差,這樣增量的計算以及ΔR/G/B要均勻的分布時,存在誤差修正的問題。
2.3 ?公差為128時的誤差修正
當(dāng)128做為公差時,按照上述要求在等差數(shù)列中必須包括0和255,根據(jù)公式計算ΔR/G/B =n*128。0為初值, n為0~2,ΔR/G/B 計算結(jié)果如下:
0*128=0;1*128=128;2*128=256。
計算結(jié)果0,128,256為等差數(shù)列,但是顯然256溢出。
如果對公式進(jìn)行修正ΔR/G/B =n*128-1,ΔR/G/B 計算結(jié)果如下:
0*128-1=-1;1*128-1=127;2*128-1=255。
計算結(jié)果-1,127,255為等差數(shù)列,雖然255在數(shù)值范圍內(nèi),但是顯然-1溢出了。
所以需要引入誤差修正及特殊處理方能達(dá)到效果:公差c增加-0.5的誤差修正,利用Round函數(shù)進(jìn)行四舍五入,則ΔR/G/B =Round(n*(128-0.5)+0),計算結(jié)果如下:
Round(0*(128-0.5)+0)=0;
Round(1*(128-0.5)+0)=128;
Round(2*(128-0.5)+0)=255
計算結(jié)果為0,128,255均在RGB數(shù)值范圍內(nèi)。
2.4 ?公差為64時的誤差修正
同理,公差為64時,公差c增加-0.16的誤差修正,整體增加0.13,利用Round函數(shù)進(jìn)行四舍五入,則ΔR/G/B =Round(n*(64-0.16)+0.13),計算結(jié)果如下:
Round(0*(64-0.16)+0.13)=0;
Round(1*(64-0.16)+0.13)=64;
Round(2*(64-0.16)+0.13)=128;
Round(3*(64-0.16)+0.13)=192;
Round(4*(64-0.16)+0.13)=255;
計算結(jié)果0,64,128,192,255均在RGB數(shù)值范圍內(nèi)。
3 ?全組合編碼公式在配色方案中的應(yīng)用
為研究方便,在圖譜的下面單元格中分別標(biāo)注主色和背景色的RGB數(shù)值。主色和背景色都對應(yīng)了RGB三個顏色,每個顏色都要按照公差進(jìn)行擴展,當(dāng)分段數(shù)增量為n時,6個數(shù)值都要擴展n次,也就是6個數(shù)值都有n個選擇,按照排列組合來說,配色方案共有n^6種情況[5]。配色方案的擴展算法如下:
ΔR=R增+Round(n*(c+誤差修正)+總修正)
ΔG=G增+Round(n* (c+誤差修正)+總修正)+Round (n*(c+誤差修正)+總修正)*255
ΔB=B增+Round(n* (c+誤差修正)+總修正)+Round (n*(c+誤差修正)+總修正)*255+Round(n*(c+誤差修正)+總修正)*255*255
計算色彩總偏移量按照上面的算法可以得到當(dāng)前顏色YRGB:
YRGB=ΔR/G/B+ΔR*Rd+ΔG*Rd*Rr+ΔB*Rd*Rr*Rb
4 ?配色方案自動生成算法
4.1 ?數(shù)據(jù)定義
Dim A_T As Double
Dim S_Code1 As Double
Dim S_Code2 As Double
Dim A1_T As Double
Dim A2_T As Double
按照對比色基本圖譜數(shù)字化模型進(jìn)行定義,根據(jù)公差64對RGB進(jìn)行擴展,如圖2所示。
圖2 ?公差64的對比色配色方案
4.2 ?配色方案生成算法
A_T = (2 ^ (Int(Text6.Text) - 1)) * (8 ^ (Int(Text5.Text) - 1)) * (4096 ^ (Int(Text7.Text) - 1))
S_Code1 = S_Code - Int(S_Code / (2 ^ 27)) * (2 ^ 27)
S_Code2 = Int(S_Code / (2 ^ 27))
A1_T = A_T - Int(A_T / (2 ^ 27)) * (2 ^ 27)
A2_T = Int(A_T / (2 ^ 27))
c = (A1_T And S_Code1)
If (A1_T And S_Code1) = A1_T Then
Text8.Text = 1
Else
Text8.Text = 0
End If
If (A2_T And S_Code2) = A2_T Then
Text9.Text = 1
Else
Text9.Text = 0
End If
If (Int(Text8.Text) And Int(Text9.Text)) Then
Text4.Text = A_T & "0"
Else
Text4.Text = A_T & "255"
End If
5 ?計算結(jié)果
按照生成算法執(zhí)行后,可自動得到對比色配色方案結(jié)果(共3 375個結(jié)果,中間結(jié)果省略)。
6 ?結(jié) ?語
通過分析數(shù)字色光的特性,利用數(shù)字化技術(shù)和全組合編碼算法完成了以RGB顏色模式為基礎(chǔ)的對比色配色方案,配色方案以“回”字形為基本圖譜,按照九宮格形式完成了無限組合配色方案的有限生成方案。算法優(yōu)化、高效,同時數(shù)值清晰,適合網(wǎng)頁設(shè)計、平面設(shè)計、服裝設(shè)計,甚至在服裝搭配、家居設(shè)計和家具搭配等方面都具有應(yīng)用價值。
參考文獻(xiàn)
[1]郭濤,李芳芳.關(guān)于多媒體演示文稿色彩應(yīng)用的研究[J].甘肅科技,2012,28(6):16-19.
[2]張紅.多媒體教學(xué)中存在的問題及對策[J].安徽農(nóng)業(yè)科學(xué),2009,37(22):10801,10811.
[3]劉正岐,郭濤.基于邏輯運算的多維數(shù)據(jù)全組合編碼算法研究[J]. 物聯(lián)網(wǎng)技術(shù),2011,1(9):41-44.
[4]藺世軍.多媒體課件制作的探索[J].中國科教創(chuàng)新導(dǎo)刊,2011(16):159
[5]劉甘娜,朱文勝,付先平.多媒體應(yīng)用基礎(chǔ)[M].2版.北京:高等教育出版社,2000.
Round(3*(64-0.16)+0.13)=192;
Round(4*(64-0.16)+0.13)=255;
計算結(jié)果0,64,128,192,255均在RGB數(shù)值范圍內(nèi)。
3 ?全組合編碼公式在配色方案中的應(yīng)用
為研究方便,在圖譜的下面單元格中分別標(biāo)注主色和背景色的RGB數(shù)值。主色和背景色都對應(yīng)了RGB三個顏色,每個顏色都要按照公差進(jìn)行擴展,當(dāng)分段數(shù)增量為n時,6個數(shù)值都要擴展n次,也就是6個數(shù)值都有n個選擇,按照排列組合來說,配色方案共有n^6種情況[5]。配色方案的擴展算法如下:
ΔR=R增+Round(n*(c+誤差修正)+總修正)
ΔG=G增+Round(n* (c+誤差修正)+總修正)+Round (n*(c+誤差修正)+總修正)*255
ΔB=B增+Round(n* (c+誤差修正)+總修正)+Round (n*(c+誤差修正)+總修正)*255+Round(n*(c+誤差修正)+總修正)*255*255
計算色彩總偏移量按照上面的算法可以得到當(dāng)前顏色YRGB:
YRGB=ΔR/G/B+ΔR*Rd+ΔG*Rd*Rr+ΔB*Rd*Rr*Rb
4 ?配色方案自動生成算法
4.1 ?數(shù)據(jù)定義
Dim A_T As Double
Dim S_Code1 As Double
Dim S_Code2 As Double
Dim A1_T As Double
Dim A2_T As Double
按照對比色基本圖譜數(shù)字化模型進(jìn)行定義,根據(jù)公差64對RGB進(jìn)行擴展,如圖2所示。
圖2 ?公差64的對比色配色方案
4.2 ?配色方案生成算法
A_T = (2 ^ (Int(Text6.Text) - 1)) * (8 ^ (Int(Text5.Text) - 1)) * (4096 ^ (Int(Text7.Text) - 1))
S_Code1 = S_Code - Int(S_Code / (2 ^ 27)) * (2 ^ 27)
S_Code2 = Int(S_Code / (2 ^ 27))
A1_T = A_T - Int(A_T / (2 ^ 27)) * (2 ^ 27)
A2_T = Int(A_T / (2 ^ 27))
c = (A1_T And S_Code1)
If (A1_T And S_Code1) = A1_T Then
Text8.Text = 1
Else
Text8.Text = 0
End If
If (A2_T And S_Code2) = A2_T Then
Text9.Text = 1
Else
Text9.Text = 0
End If
If (Int(Text8.Text) And Int(Text9.Text)) Then
Text4.Text = A_T & "0"
Else
Text4.Text = A_T & "255"
End If
5 ?計算結(jié)果
按照生成算法執(zhí)行后,可自動得到對比色配色方案結(jié)果(共3 375個結(jié)果,中間結(jié)果省略)。
6 ?結(jié) ?語
通過分析數(shù)字色光的特性,利用數(shù)字化技術(shù)和全組合編碼算法完成了以RGB顏色模式為基礎(chǔ)的對比色配色方案,配色方案以“回”字形為基本圖譜,按照九宮格形式完成了無限組合配色方案的有限生成方案。算法優(yōu)化、高效,同時數(shù)值清晰,適合網(wǎng)頁設(shè)計、平面設(shè)計、服裝設(shè)計,甚至在服裝搭配、家居設(shè)計和家具搭配等方面都具有應(yīng)用價值。
參考文獻(xiàn)
[1]郭濤,李芳芳.關(guān)于多媒體演示文稿色彩應(yīng)用的研究[J].甘肅科技,2012,28(6):16-19.
[2]張紅.多媒體教學(xué)中存在的問題及對策[J].安徽農(nóng)業(yè)科學(xué),2009,37(22):10801,10811.
[3]劉正岐,郭濤.基于邏輯運算的多維數(shù)據(jù)全組合編碼算法研究[J]. 物聯(lián)網(wǎng)技術(shù),2011,1(9):41-44.
[4]藺世軍.多媒體課件制作的探索[J].中國科教創(chuàng)新導(dǎo)刊,2011(16):159
[5]劉甘娜,朱文勝,付先平.多媒體應(yīng)用基礎(chǔ)[M].2版.北京:高等教育出版社,2000.
Round(3*(64-0.16)+0.13)=192;
Round(4*(64-0.16)+0.13)=255;
計算結(jié)果0,64,128,192,255均在RGB數(shù)值范圍內(nèi)。
3 ?全組合編碼公式在配色方案中的應(yīng)用
為研究方便,在圖譜的下面單元格中分別標(biāo)注主色和背景色的RGB數(shù)值。主色和背景色都對應(yīng)了RGB三個顏色,每個顏色都要按照公差進(jìn)行擴展,當(dāng)分段數(shù)增量為n時,6個數(shù)值都要擴展n次,也就是6個數(shù)值都有n個選擇,按照排列組合來說,配色方案共有n^6種情況[5]。配色方案的擴展算法如下:
ΔR=R增+Round(n*(c+誤差修正)+總修正)
ΔG=G增+Round(n* (c+誤差修正)+總修正)+Round (n*(c+誤差修正)+總修正)*255
ΔB=B增+Round(n* (c+誤差修正)+總修正)+Round (n*(c+誤差修正)+總修正)*255+Round(n*(c+誤差修正)+總修正)*255*255
計算色彩總偏移量按照上面的算法可以得到當(dāng)前顏色YRGB:
YRGB=ΔR/G/B+ΔR*Rd+ΔG*Rd*Rr+ΔB*Rd*Rr*Rb
4 ?配色方案自動生成算法
4.1 ?數(shù)據(jù)定義
Dim A_T As Double
Dim S_Code1 As Double
Dim S_Code2 As Double
Dim A1_T As Double
Dim A2_T As Double
按照對比色基本圖譜數(shù)字化模型進(jìn)行定義,根據(jù)公差64對RGB進(jìn)行擴展,如圖2所示。
圖2 ?公差64的對比色配色方案
4.2 ?配色方案生成算法
A_T = (2 ^ (Int(Text6.Text) - 1)) * (8 ^ (Int(Text5.Text) - 1)) * (4096 ^ (Int(Text7.Text) - 1))
S_Code1 = S_Code - Int(S_Code / (2 ^ 27)) * (2 ^ 27)
S_Code2 = Int(S_Code / (2 ^ 27))
A1_T = A_T - Int(A_T / (2 ^ 27)) * (2 ^ 27)
A2_T = Int(A_T / (2 ^ 27))
c = (A1_T And S_Code1)
If (A1_T And S_Code1) = A1_T Then
Text8.Text = 1
Else
Text8.Text = 0
End If
If (A2_T And S_Code2) = A2_T Then
Text9.Text = 1
Else
Text9.Text = 0
End If
If (Int(Text8.Text) And Int(Text9.Text)) Then
Text4.Text = A_T & "0"
Else
Text4.Text = A_T & "255"
End If
5 ?計算結(jié)果
按照生成算法執(zhí)行后,可自動得到對比色配色方案結(jié)果(共3 375個結(jié)果,中間結(jié)果省略)。
6 ?結(jié) ?語
通過分析數(shù)字色光的特性,利用數(shù)字化技術(shù)和全組合編碼算法完成了以RGB顏色模式為基礎(chǔ)的對比色配色方案,配色方案以“回”字形為基本圖譜,按照九宮格形式完成了無限組合配色方案的有限生成方案。算法優(yōu)化、高效,同時數(shù)值清晰,適合網(wǎng)頁設(shè)計、平面設(shè)計、服裝設(shè)計,甚至在服裝搭配、家居設(shè)計和家具搭配等方面都具有應(yīng)用價值。
參考文獻(xiàn)
[1]郭濤,李芳芳.關(guān)于多媒體演示文稿色彩應(yīng)用的研究[J].甘肅科技,2012,28(6):16-19.
[2]張紅.多媒體教學(xué)中存在的問題及對策[J].安徽農(nóng)業(yè)科學(xué),2009,37(22):10801,10811.
[3]劉正岐,郭濤.基于邏輯運算的多維數(shù)據(jù)全組合編碼算法研究[J]. 物聯(lián)網(wǎng)技術(shù),2011,1(9):41-44.
[4]藺世軍.多媒體課件制作的探索[J].中國科教創(chuàng)新導(dǎo)刊,2011(16):159
[5]劉甘娜,朱文勝,付先平.多媒體應(yīng)用基礎(chǔ)[M].2版.北京:高等教育出版社,2000.