254 数字图像处理(第三版) 6.2彩色模型 彩色模型(也称为彩色空间或彩色系统)的目的是在某些标准下用通常可以接受的方式方便地对 彩色加以说明。本质上,彩色模型是坐标系统和子空间的说明,其中,位于系统中的每种颜色都由单 个点来表示。 现在所用的大多数彩色模型不是面向硬件(如彩色监视器和打印机)的,就是面向应用的,在 里,彩色操作是一个目的(例如针对动画的彩色图形创作)。在数字图像处理中,实际中最通用的面 向硬件的模型是RGB(红、绿、蓝)模型,该模型用于彩色监视器和一大类彩色视频摄像机:CMY(青 粉红、黄)模型和CMYK(青、粉红、黄、黑)模型是针对彩色打印机的:以及HSI(色调、饱和度」 亮度)模型,这种模型更符合人描述和解释颜色的方式。HSI模型还有另一个优点,它可以解除图 像中的颜色和灰度信息的联系,使其更适合本书中开发的许多灰度处理技术。现在使用的彩色模型 还有很多,主要是由于彩色科学是一个包括许多应用的很宽的领域。这里试图详细研究其中的几个 模型,因为这些模型更有意义且更有益。然而.根据现有的任务,本章讨论的模型是图像处理的主 要模型。掌握了本章的内容后,理解今天使用的其他彩色模型,您将不会有困难 6.2.1RGB彩色模型 在RGB模型中,每种颜色出现在红、绿、蓝的原色光谱分量中。该模型基于笛卡儿坐标系。所 考虑的彩色子空间是图6.7所示的立方体,图中RGB原色值位于3个角上:二次色青色、深红色和黄 色位于另外3个角上,黑色位于原点处,白色位于离原点最远的角上。在该模型中,灰度(RGB值相等 的点)沿着连接这两点的直线从黑色延伸到白色。在这一模型中的不同颜色是位于立方体上的或立方体 内部的点,且由自原点延伸的向量来定义。为方便起见,假定所有的颜色值都刷归一化了,则图6.7所示 的立方体是一个单位立方体,即R,G和B的所有值都假定在范围0,内。 在RGB彩色模型中表示的餐图像由3个分量图像组成,每种原色一幅分量图像。当送人RGB监视 器时,这3幅图像在屏幕上混合生成一幅合成的彩色图像,正如在6.1节所说明的那样。在RGB空间 中,用于表示每个像素的比特数称为像素深度。考虑一幅RGB图像,其中每一幅红、绿、蓝图像都是 一幅8比特图像,在这种条件下,可以说每个RGB彩色像素[即(R.G.B)值的三元组]有24比特的 深度(3个图像平面乘以每个平面的比特数。术语全衫色图像通常用来表示一幅24比特的RGB彩色图像 在24比特RGB图像中,颜色总数是(2y=16777216。图6.8显示了与图6.7对应的24比特彩色立方体 整色00.) 青色 深红色 e 黑色上二永度级 0.1,0 色 +G (1.0.0) 红色 黄色 R 图67RGB彩色立方体示意图。沿主对角线的点有 图6.8RGB24比特彩色立方体 从原点的黑色至点(1,1.)的白色的灰度值
第6章彩色图像处理 255 例6.1生成AGB彩色立方体的隐藏面和剖面 图68所示的立方体是实心的。它由前一段中提到的2了=16777216种0色组成。观察这此颜色的 种简便方法月生成个彩色平面(立方体的表面或剖面司。这是通过固定三种颜色中的一个并允许其他两种 颜色变化来完成的。例如,在图6.8中,通过立方体中心并与GB平面平行的剖面是平面127,G,).其中 G,B=0,1,2,…,255。这里,我们使用了实际像素值,而不是为数学上的方便而在0.1范围内的归一化值. 因为前者是在计算机中实际用来产生颜色的值。图6.9(a)说明,通过简单地把三幅独立的分量图像送入 彩色监视器来观察一幅横截面图像。在分量图像中,0代表黑色。255代表白色(注意这些是灰度级图像)。 最后,图6.96)显示了以同样的方式生成的图6.8中立方体的3个隐藏面。 值得注意的是,获取一幅彩色图像基本上是图6.9所示的相反的过程。使用分别对红,绿、蓝敏感的 3个滤色片可获取一幅彩色图像。当我们用配备有这些滤色片之一的单色摄像机观察彩色场景时,结果是 辐单色图像,其亮度与涉色片的响应成正比。用每个滤色片重复这一过程。可产生三幅单色图像,这些图 像就是彩色场景的RGB分量图像(实际上,RGB彩色图像传感器通常将这一过程集成在一个装置中)。很 清楚,以图6.9(a)所示的形式显示这3幅RGB分量图像,就会产生原始彩色场景的RGB彩色复现。 红色 色 彩色监视器 (R=0) (G=0) B= 图69(a)生成彩色剖面(127,G,B)的RGB图像:(6)图6.8所示彩色立方体的3个隐藏面 虽然高端显示卡和监视器提供24比特RGB图像的合理的彩色再现,但今天所用的许多系统仍 限于256种颜色。另外,有许多应用.使用几百种以上的颜色没有意义,而有时只用几种颜色。 6.3节讨论的伪彩色图像处理技术就提供了这种情况的一个较好的例子。当前应用给定的各种系统中, 有一种彩色子系统值得考虑,其合理且与观察者无关的硬件性能是很重要的。这种色彩子集称为稳定 RGB色集合,或称为全系统稳定色集合。在互联网应用中,这种色彩子集称为稳定Veb色或稳定浏 览器色
256 数字图像处理(第三版) 系统进行不同的处理,仅留下216种颜色是多数系统通用的。这216种颜色已成为事实上的稳定色. 特别是在互联网中的应用。无论在何时应用.希组大多数人观察到的额色都一样 如以前一样,216种稳定色中的每一种都可以由3个RGB值形成.但每个值只能是0.5,102,153 204或255。这样,这些RGB三元组数值就可提供(6)=216种可能的值(注意所有值都可被3整除)。 通常这些值可用十六进制数来表示,如表6.1所示。回顾一下,十六进制数0.1,2,9,AB.CD.EF 对应十进制数0.1,2.…,9.10,11,12,13,14.15。还可以表示为0)6=(00002和(F6=(11112,例如。 (FF)6=(255)=(11111111)2,并且我们可以看到,两个十六进制数构成了一个8比特字节。 表6.1稳定色中每个RGB分量的有效值 效制 等效颜色 十六排 00 09 十进制 10m 153 204 255 因为要取3个数来形成GB彩色,每种稳定色由表6.1中的3个两位十六进制数形成。例如. 最纯净的红色是FFO0O0。值000000和FFFFFF分别表示黑色和白色。记住,使用更为熟悉的十进制 表示可得到相同的结果。例如以十进制表示的最亮红色为R=255和G=B=0 图6.10(a)显示了以RGB的降序值组织的216种稳定色。第一行左上角方块的值为FFFFF(白). 其右侧方块的值为FFFFCC,第三个方块的值为FFFF99.等等。同一阵列第二行的值是FFCCF甲 FFCCCC,FFCC99,等等。该阵列中最后一个方块的值为FF0000(可能是最亮的红色)。刚考察过的 阵列右侧的第二个阵列的值由CC下F下开始,并以相同的方式讲行,其他剩下的4个阵列也同样讲 行。最后一个阵列的最后一个方块(右下方)的值为00000(黑。注意,不是所有可能的8比特灰色 都包含在216种稳定色中,这一点很重要。图6.10(6)显示了256色RGB系统中所有可能灰色的十 六进制代码。这些值的一部分在稳定色集的外面,但可被多数显示系统(根据它们的相对亮度)适当地 表示。来自稳定色组的灰度(KKKKKA)K=0,3,6.9,C,F在图6.10b)中以下画线形式显示。 海■回■■口口口■ 图610(a216种稳定RGB色:(b)256色RGB系统中的所有灰度(部分稳定色组的灰度以下线的形式显示
第6章彩色图像处理 257 图6.11显示了RGB稳定色立方体。与图6.8所示的实心全彩色立方 体不同.图6.11中的立方体仅在表面有有效的颜色。正如图6.10(a)所示. 每个平面都有36种颜色,所以稳定色立方体的整个表面被216种不同 的颜色所覆盖,这正如所期望的那样。 6.2.2CMY和CMYK彩色模型 正如61节中指出的那样,青色、深红色和黄色是光的二次色,换句 图6.11RGB稳定色立方体 话说,是颜料的原色。例如,当青色颜料涂覆的表面用白光照射时,该表 面将不反射红光。也就是说,青色从反射的白光中减去红光,白光本身抽等量的红光、绿光和蓝光组成。 大多数在纸上沉积彩色颜料的设备,如彩色打印机和复印机,要求输入CMY数据或在内部进行 RGB到CMY的转换。这一转换是使用下面这个简单的操作执行的 [C]TR M =1-G (6.2.1ù 这里再次假设所有的彩色值都归一化到了范围0,内。式(6.21)表明涂有青色颜料的表面所反射的 光中不包含红色(即公式中C=1一R)。类似地,纯深红色不反射绿色,纯黄色不反射蓝色。式(6.21) 还揭示RGB值可以很容易地通过1减去CMY值从CMY集中得到。正如早些时候指出的那样,在 图像处理中,这种彩色模型主要用于产生硬拷贝输出,因此从CMY到RGB的反向操作通常没有实 际意义。 根据图6.4,等量的料原色,青色、深红色和黄色,可以生成黑色。实际上,为打印组合的这 些颜色所产生的黑色是不纯的。因此,为了生成真正的黑色(即在打印中起主要作用的颜色),加人了 第4种颜色一黑色,提出了CMYK彩色模型。这样,当出版商提到“四色打印”时,指的就是CMY 彩色模型的三种原色再加上黑色。 6.2.3HS1彩色模型 正如我们所见到的那样,在RGB模型和CY模型中创建颜色并从一种模型转换到另一种模型 是比较简单的过程。如上所述,这些彩色系统对于硬件实现很理想。另外,RGB系统与人眼强烈感 知红、绿、蓝三原色的事实能很好地匹配。遗憾的是,RGB模型、CMY模型和其他类似的彩色模型不 能很好地适应实际上人解释的颜色。例如,通过用给定的组成其颜色的每一原色的百分比不能给出 辆汽车的颜色,此外,我们不认为彩色图像是由3幅原色图像混合形成的单幅图像 当人观察一个彩色物体时,我们用其色调、饱和度和亮度来描述它。回顾6.1节的讨论,色调是 描述一种纯色(纯黄色、纯橙色或纯红色)的颜色属性,然而,饱和度是一种纯色被白光稀释的程度的 度量。亮度是一个主观的描述子,实际上它是不可度量的。它体现了无色的强度概念,并且是描述彩 色感觉的关键因子之一。我们清楚地知道强度(灰度级)是单色图像最有用的描述子。很明确,这个量 是可度量的,并很容易解释。我们即将提出的模型称为HS1(色调、饱和度和强度)彩色模型,该模型 可在彩色图像中从携带的彩色信息(色调和饱和度)中消去强度分量的影响。因此。HS1模型是开发 基于彩色描述的图像处理算法的理想工具,这种彩色描述对人来说是自然且直观的,毕竞人才是这些 算法的开发者和使用者。因此,我们可以概括说明如下,可以说RGB对于图像颜色生成来说是理想 的(如用彩色摄像机的图像获取,或在监视器屏幕上显示图像),但在用于额色描述时则有许多的限制。网 下面的素材提供了一种这样做的有效方法
258 数字图像处理(第三版) 正如例6.1中讨论的那样,一幅RGB彩色图像可被看成3幅单色亮度图像(表示红色、绿色和蓝 色),因此,我们应能从一幅RGB图像中提取出强度并不奇怪。如果我们使用图6,7中的彩色立方体。 让白色顶点(1,1,1)在黑色顶点0,0,0)上方直接面对它,如图6.12(a所示,则这一点就更加清楚了。联 系图6.7可知,强度(灰度级)是沿连接这两个顶点的直线分布的。如图6.12的排列所示.连接黑色顶 点和白色顶点的直线(灰度轴)是垂直的。这样,如果我们要确定图6.12中任何彩色点的强度分量,可 以简单地通过一个垂直于强度轴并包含该彩色点的平面,该平面与强度轴的交点就给出了范围0.】 内的强度值。稍微思考一下,我们还注意到,一种颜色的饱和度(纯度)以强度轴的距离为函数而增 大。事实上,强度轴上点的饱和度为零,事实证明沿着这条轴线的所有点都是灰度 ab 色 白色 黑色 图6.12RGB模型和HSI模型间的概念关系 为了解如何从给定的RGB点来确定色调,考虑图6.12b),图中显示了由3个点(黑、白和青)定 义的一个平面。黑点和白点包含在平面内的事实告诉我们强度轴也包含在这个平面内。进一步,我们 看到,包含在由强度轴和立方体边界定义的平面段内的所有点都有相同的色调(在这种情形下为青 色)。回顾6.1节可得到相同的结论,即所有颜色都是由位于这些颜色定义的三角形中的3种颜色产 生的。如果这些点中的两点是黑点和白点,第三点是一个彩色点,那么三角形上的所有点都有相同的 色调,因为黑分量和白分量不能改变色调(当然,这个三角形中的点的强度和饱和度是不同的)。通过 关于垂直强度轴旋转阴影平面,可得到不同的色调。从这些概念可以得出这样的结论:形成HSI空 间所要求的色调、饱和度和强度值可由RGB彩色立方体得到。也就是说,通过计算前面讨论中描选 和推导的几何公式,我们可将任何RGB点转换为相应的HSI彩色模型中的点。 关于图6.12中的立方体结构及其对应的HSI彩色空间,要记住的一个关键点是,HSI空间由一个 垂直强度轴和位于与该强度轴垂直的平面内的彩色点的轨迹表示。当平面沿强度轴上下移动加时.由每 个平面与立方体表面构成的横截面定义的边界不是三角形就是六边形。这种情况如图6.13()所示, 沿其灰度轴向下看,这一点就会清楚得多。在这个平面中,我们可以看到原色是按120分隔的, 次色与原色相隔60°,这意味着二次色之间也相隔120°。图6.13(6)显示了相同的六边形和任意一个 彩色点(显示为一个点)。该点的色调由来自某参考点的一个角度决定。通常(并非总是如此),与红轴 的0°角指定为0色调,从这里开始色调逆时针增长。饱和度(距垂直轴间的距离)是从原点到该点的 向量长度。注意,原点是由该彩色平面的横截面与垂直强度轴来定义的。HS彩色空间的重要分量是 垂直强度轴、到-一个彩色点的向量长度和该向量与红轴的夹角。因此.如图6.13(c)和图6.13()所示 HS平面以刚刚时论的六边形、三角形,甚至一个圆形的形式出现也很常见。实际上选择什么形状无 圆防围