对比色配色方案数字化生成技术的研究
扫描二维码
随时随地手机看文章
引言
所谓配色,就是色彩按照形式美的法则搭配,达到一种 和谐一体的效果。在实际应用中,色彩是通过人的印象或者 联想来产生心理上的影响,通过简单的色谱很难实现这一点, 这些艺术通感形成的多种多样的法则如对称、均衡、节奏、 韵律、对比、比例、主从、尺度、明暗、虚实、多样统一等。 而配色的作用就这在这些法则的指导下,通过特定环境和方 式的展示来满足人们各方面的要求叫
配色主要有两种方式,一是直接通过固定色彩的对比达 到配色的效果;另一种是通过色彩的变换给人以心理层面感 观传达,从而达到配色的效果。各种配色方案的组合是无穷的, 不可能全部罗列
本文通过计算机光学原理进行分析,针对对比色的配色 方案的生成技术进行研究,利用RGB色彩的数字化变换、全 组合编码算法等技术在九宫格中实现对比色无限组合的有限 自动生成方案。
1数字化配色方案原理
光学三原色是由红、绿、蓝组成,颜料三原色由红、黄、 蓝组成,由于计算机对于色彩是基于色光处理,而其色彩模 式有RGB、CMYK、LAB、HSB等。本文以RGB颜色模式 为例,利用全组合编码算法建立数字化配色方案模型,实现 对比色配色方案的自动生成叫
2色彩模型分析
2.1对比色基本图谱
对比色配色方案基本图谱一般是“回”字形,用数字化定义可釆用九宫格来实现。主色在九宫格中央,背景色分布在 周围,在视觉上形成“回”字形图谱叫 为研究方便,在图谱 的下面6个单元格分别标注主色和背景色的数值,如图1所示:
2.2 配色方案基值
如果按照等差数列的方式生成配色方案,则需要分析 RGB的数值范围:
R : [0,255] G : [0,255] B : [0,255]
24位RGB颜色发色数是1 677万多色,其中R、G、B 的数值都在0~255之间,通过R、G、B的等差增长来实现全 组合配色方案。若选用128做为公差,那么R、G、B分别可 以选择0、128、255三种数值,其单色全组合需要27种。因 为对比色是由主色和原色构成,那么配色方案需要27*27=729 种。可以这样定义:
设公差为c,分段数为int(255/c),必须包括首尾0和 255,则增量 n为 int (255/c+2);
主色(或原色)总数S为:=3Aint (255/c+2);
对比色配色方案数 N= S* S=3人(int (255/c+2) +int (255/ c+2));
根据全组合编码算法,R/G/B的计算为:(4b Mod 3) *c
主色(或原色)的数值为:RGB((』r Mod 3) *c,(』g Mod 3) *c,(』B Mod 3) *c)
但是公差不一定是255的约数,尤其是以二进制为基础 的计算机中,如32、64、128都是以2为底的n次方的数值, 这些数值一般很容易做为公差,这样增量的计算以及Jr/g/b要均匀的分布时,存在误差修正的问题。
2.3公差为128时的误差修正
当128做为公差时,按照上述要求在等差数列中必须包 括。和255,根据公式计算4/g/b=仞28。0为初值,n为0〜2,
计算结果如下:
0*128 = 0 ; 1*128 = 128 ; 2*128 = 256。
计算结果0, 128, 256为等差数列,但是显然256溢出。
如果对公式进行修正4/gb =n*128 - 1,4/g/b计算结果如 下:
0*128 — 1 =- 1 ; 1*128 — 1 = 127 ; 2*128 — 1 = 255。
计算结果一1,127, 255为等差数列,虽然255在数值 范围内,但是显然一1溢出了。
所以需要引入误差修正及特殊处理方能达到效果:公差 c增加一0.5的误差修正,利用Round函数进行四舍五入,则 *g归=Round (n*(128 - 0.5) +0),计算结果如下:
Round (0*( 128 - 0.5) +0) = 0 ;
Round (1* (128 - 0.5) +0) = 128 ;
Round(2*(128 - 0.5) +0)= 255
计算结果为0, 128, 255均在RGB数值范围内。
2.4公差为64时的误差修正
同理,公差为64时,公差c增加一0.16的误差修正, 整体增加0.13,利用Round函数进行四舍五入,则4^归= Round (n* (64 - 0.16) +0.13),计算结果如下:
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 ;
计算结果0, 64, 128, 192, 255均在RGB数值范围内。
3全组合编码公式在配色方案中的应用
为研究方便,在图谱的下面单元格中分别标注主色和背 景色的RGB数值。主色和背景色都对应了 RGB三个颜色, 每个颜色都要按照公差进行扩展,当分段数增量为n时,6个 数值都要扩展n次,也就是6个数值都有n个选择,按照排 列组合来说,配色方案共有nM种情况叫 配色方案的扩展算 法如下:
Ar= R增+ Round (n* (c+误差修正)+总修正)
Jg= G 增+Roun(n* (c+ 误差修正)+总修 正) + Round (n* (c+误差修正)+总修正)*255
Ab= B增+Roundn* (c+ 误差修正)+ 总修正)+ Round (n* (c+误差修正)+总修正)*255 + Round (n*(c+误差修正)+ 总修正) *255*255
计算色彩总偏移量按照上面的算法可以得到当前颜色 氐GB :
YrGB= AR©B+AR*Rd+AG*Rd*Rr+AB*Rd*Rr*Rb
4配色方案自动生成算法
4.1数据定义
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
按照对比色基本图谱数字化模型进行定义,根据公差64 对RGB进行扩展,如图2所示。
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计算结果
按照生成算法执行后,可自动得到对比色配色方案结果共 3 375个结果,中间结果省略)。
6结语
通过分析数字色光的特性,利用数字化技术和全组合编 码算法完成了以RGB颜色模式为基础的对比色配色方案,配 色方案以“回”字形为基本图谱,按照九宫格形式完成了无限 组合配色方案的有限生成方案。算法优化、高效,同时数值 清晰,适合网页设计、平面设计、服装设计,甚至在服装搭配、 家居设计和家具搭配等方面都具有应用价值。
20211223_61c45edf409ea__对比色配色方案数字化生成技术的研究