颜色模型浅谈(二)

类别:VC语言 点击:0 评论:0 推荐:

二、三基色颜色模型


  下面我们就开始具体的讲解颜色模型。

  众所周知,当我们将两种不同的颜色按一定比例混合可以生成另一种颜色,通过混合三种不同的颜色我们就可以得到我们想要的颜色,这就是三基色颜色模型的基本原理。但是理论表明在实际的基色组中,没有一种组合能生成所有的颜色。以我们常用的RGB为例,如下图:

  这是一张颜色匹配图,该图表示了生成某一光谱颜色所需要的R、G、B配比,从图中可以看到500nm附近的光波颜色中R为负值,因此RGB显示器是无法500nm附近的光波颜色的。

XYZ颜色模型

  为了用三基色定义出所有的颜色,国际照明委员会CIE定义了三种标准基色XYZ,这三种基色是假想的颜色,并同时给出了颜色匹配图(见右图)。这样所有颜色的定义都有了国际标准,并且我们有了XYZ颜色模型。

Cr=aX+bY+cZ

 

  我们令x=X/(X+Y+Z) y=Y/(X+Y+Z),这样x,y的值就只依赖于光源的色彩和纯度,而与光源的亮度无关,并且我们将参数x,y称为色度。通过色度我们就可以确定所有的颜色了。

  通过对(x,y)作图我们就得到了下面这张图,称之为CIE色度图。

  曲线上的点是光谱颜色,即纯彩色,他们的纯度最高。连接红色和紫色的直线称为紫色线,它不属于光谱颜色。曲线包围的点为所有可能的可见光的组合,C点即为白色,很显然越靠近C点则它的纯度就越低。如此一来,自然界中所有的颜色就都包含在曲线所包围的区域中了。

  有了色度图就可以帮助我们:

  一、为不同的基色组比较整个颜色范围。基色组所确定的颜色范围表示成直线段或多边形。如图,C1、C2、C3为我们所选择的基色组,则C1、C2、C3三点所围成的三角形就是基色组所确定的颜色范围,该三角形内所有的颜色都可以通过混合适量的C1、C2、C3所得到。由于图中没有一个三角形包含所有的颜色,这也就是为什么没有一种三基色组能生成所有的颜色。

  二、识别互补色。如果两种颜色的光按一定比例混合后能够得到白色光,那么我们就称其为互补色。例如,红色和青色、蓝色和黄色。从色度图上看,互补色一定是位于一条过白色C点的线段的两端。如下图,混合适量的C1、C2就可以得到白色了。

  三、确定所选颜色的主频率和纯度。我们可以通过二基色颜色范围的解释来确定一种颜色的主频率。如如下图中的C1点,从C点过C1点作一条线段与光谱曲线相交,我们得到Cs点,这样颜色C1就可以表示为颜色Cs和白光的混合。那么C1的主频率就为Cs。但这种方法不适用与那些C和紫色线之间的颜色点如C2点,因为紫色线不属于光谱范围。为此,我们作C2C的反向延长线,交光谱曲线于Cp点,则C2点的主频率就为Cp,并把C2解释为,从白中减去Cp而得到。

本文地址:http://com.8s8s.com/it/it3830.htm