第二章 数字图像处理基础 2.1 图像数字化技术 2.2 数字图像类型 2.3 图像文件格式 2.4 色度学基础与颜色模型
2.1 图像数字化技术 图像处理的方法有模拟式和数字式两种。由于数字计算技术的迅猛发展,数字图像处理技术得到了广泛的应用。我们日常生活中见到的图像一般是连续形式的模拟图像,所以数字图像处理的一个先决条件就是将连续图像离散化,转换为数字图像。 图像的数字化包括采样和量化两个过程。 设连续图像f(x, y)经数字化后,可以用一个离散量组成的矩阵g (i, j)(即二维数组)来表示。
(2-1) 矩阵中的每一个元素称为像元、像素或图像元素。而g (i, j)代表(i, j)点的灰度值,即亮度值。以上数字化有以下几点说明: (1) 由于g (i, j)代表该点图像的光强度,而光是能量的一种形式,故g (i, j)必须大于零,且为有限值,即: 0<g (i, j)<∞。
(2) 数字化采样一般是按正方形点阵取样的, 除此之外还有三角形点阵、正六角形点阵取样。如图2-1所示。 (3) 以上是用g (i, j)的数值来表示(i, j)位置点上灰度级值的大小,即只反映了黑白灰度的关系, 如果是一幅彩色图像, 各点的数值还应当反映色彩的变化,可用g (i, j, λ)表示,其中λ是波长。如果图像是运动的,还应是时间t的函数,即可表示为g (i, j, λ, t)。
图2-1 采样网格 (a) 正方形网格; (b) 正六角形网格
2.1.1 采样 图像在空间上的离散化称为采样。也就是用空间上部分点的灰度值代表图像,这些点称为采样点。由于图像是一种二维分布的信息,为了对它进行采样操作,需要先将二维信号变为一维信号,再对一维信号完成采样。具体做法是,先沿垂直方向按一定间隔从上到下顺序地沿水平方向直线扫描,取出各水平线上灰度值的一维扫描。而后再对一维扫描线信号按一定间隔采样得到离散信号,即先沿垂直方向采样, 再沿水平方向采样这两个步骤完成采样操作。对于运动图像(即时间域上的连续图像),需先在时间轴上采样,再沿垂直方向采样,最后沿水平方向采样由这三个步骤完成。
对一幅图像采样时,若每行(即横向)像素为M个,每列(即纵向)像素为N个,则图像大小为M×N个像素。 在进行采样时,采样点间隔的选取是一个非常重要的问题, 它决定了采样后图像的质量,即忠实于原图像的程度。采样间隔的大小选取要依据原图像中包含的细微浓淡变化来决定。一般, 图像中细节越多,采样间隔应越小。根据一维采样定理,若一维信号g(t)的最大频率为ω, 以T≤1/2ω为间隔进行采样,则能够根据采样结果g(iT) (i=…, -1, 0, 1, …)完全恢复g(t), 即 式中
图2-2 采样示意图
2.1.2 量化 模拟图像经过采样后,在时间和空间上离散化为像素。但采样所得的像素值(即灰度值)仍是连续量。把采样后所得的各像素的灰度值从模拟量到离散量的转换称为图像灰度的量化。图2-3(a)说明了量化过程。若连续灰度值用z来表示,对于满足zi≤z≤zi+1的z值,都量化为整数qi。qi称为像素的灰度值,z与qi的差称为量化误差。一般,像素值量化后用一个字节8 bit来表示。如图2-3(b)所示,把由黑—灰—白的连续变化的灰度值, 量化为0~255共256级灰度值,灰度值的范围为0~255,表示亮度从深到浅, 对应图像中的颜色为从黑到白。
图2-3 量化示意图 (a) 量化; (b) 量化为8 bit
连续灰度值量化为灰度级的方法有两种,一种是等间隔量化, 另一种是非等间隔量化。等间隔量化就是简单地把采样值的灰度范围等间隔地分割并进行量化。对于像素灰度值在黑—白范围较均匀分布的图像,这种量化方法可以得到较小的量化误差。该方法也称为均匀量化或线性量化。为了减小量化误差,引入了非均匀量化的方法。非均匀量化是依据一幅图像具体的灰度值分布的概率密度函数,按总的量化误差最小的原则来进行量化。具体做法是对图像中像素灰度值频繁出现的灰度值范围,量化间隔取小一些,而对那些像素灰度值极少出现的范围,则量化间隔取大一些。由于图像灰度值的概率分布密度函数因图像不同而异, 所以不可能找到一个适用于各种不同图像的最佳非等间隔量化方案。因此, 实用上一般都采用等间隔量化。
2.1.3 采样与量化参数的选择 一幅图像在采样时,行、列的采样点与量化时每个像素量化的级数,既影响数字图像的质量,也影响到该数字图像数据量的大小。假定图像取M×N个样点,每个像素量化后的灰度二进制位数为Q,一般Q总是取为2的整数幂,即Q=2k, 则存储一幅数字图像所需的二进制位数b为 (2-2) 字节数B为 (2-3)
对一幅图像,当量化级数Q一定时,采样点数M×N对图像质量有着显著的影响。如图2-4所示,采样点数越多,图像质量越好; 当采样点数减少时,图上的块状效应就逐渐明显。同理, 当图像的采样点数一定时,采用不同量化级数的图像质量也不一样。如图2-5所示,量化级数越多,图像质量越好,当量化级数越少时,图像质量越差,量化级数最小的极端情况就是二值图像, 图像出现假轮廓。
(a)原始图像(256×256);(b)采样图像1(128×128);(c) 采样图像2(64×64); 图2-4 不同采样点数对图像质量的影响 (a)原始图像(256×256);(b)采样图像1(128×128);(c) 采样图像2(64×64); (d)采样图像3(32×32); (e)采样图像4(16×16);(f) 采样图像5(8×8)
(a) 原始图像(256色); (b) 量化图像1(64色); (c) 量化图像2(32色); 图2-5 不同量化级别对图像质量的影响 (a) 原始图像(256色); (b) 量化图像1(64色); (c) 量化图像2(32色); (d) 量化图像3(16色); (e) 量化图像4(4色); (f) 量化图像5(2色)
一般,当限定数字图像的大小时, 为了得到质量较好的图像可采用如下原则: (1) 对缓变的图像, 应该细量化, 粗采样, 以避免假轮廓。 (2) 对细节丰富的图像, 应细采样, 粗量化, 以避免模糊(混叠)。 对于彩色图像,是按照颜色成分——红(R)、绿(G)、蓝(B)分别采样和量化的。若各种颜色成分均按8 bit量化,即每种颜色量级别是256, 则可以处理256×256×256=16 777 216种颜色。
2.1.4 图像数字化设备 将模拟图像数字化成为数字图像,需要某种图像数字化设备。常见的数字化设备有数字相机、扫描仪、数字化仪等。 1. 图像数字化设备的组成 如前所述,采样和量化是数字化一幅图像的两个基本过程。即把图像划分为若干图像元素(像素)并给出它们的地址(采样); 度量每一像素的灰度, 并把连续的度量结果量化为整数(量化);最后将这些整数结果写入存储设备。为完成这些功能, 图像数字化设备必须包含以下五个部分:
(1) 采样孔(Sampling aperture): 使数字化设备能够单独地观测特定的图像元素而不受图像其他部分的影响。 (2) 图像扫描机构: 使采样孔按照预先确定的方式在图像上移动,从而按顺序观测每一个像素。 (3) 光传感器: 通过采样检测图像的每一像素的亮度, 通常采用CCD阵列。 (4) 量化器:将传感器输出的连续量转化为整数值。典型的量化器是A/D转换电路,它产生一个与输入电压或电流成比例的数值。 (5) 输出存储装置:将量化器产生的灰度值按适当格式存储起来,以用于计算机后续处理。
2. 图像数字化设备的性能 虽然各种数字化设备的组成不相同,但可从如下几个方面对其性能进行比较。 1) 像素大小 采样孔的大小和相邻像素的间距是两个重要的性能指标。如果数字化设备是在一个放大率可变的光学系统上,那么对应于输入图像平面上的采样点大小和采样间距也是可变的。 2) 图像大小 图像大小即数字化设备所允许的最大输入图像的尺寸。
3) 线性度 对光强进行数字化时,灰度正比于图像亮度的实际精确程度是一个重要的指标。非线性的数字化设备会影响后续过程的有效性。能将图像量化为多少级灰度也是非常重要的参数。图像的量化精度经历了早期的黑白二值图像、灰度图像及现在的彩色及真彩色图像。当然,量化精度越高,存储像素信息需要的字节数也越大。
4) 噪声 数字化设备的噪声水平也是一个重要的性能参数。例如, 数字化一幅灰度值恒定的图像,虽然输入亮度是一个常量,但是数字化设备中固有的噪声却会使图像的灰度发生变化。因此数字化设备所产生的噪声是图像质量下降的根源之一,应当使噪声小于图像内的反差点(即对比度)。
2.2 数字图像类型 为了方便地处理数字图像,根据数字图像的特性将其分成不同的类型。静态图像可分为矢量(Vector)图和位图(Bitmap), 位图也称为栅格图像。 矢量图是用一系列绘图指令来表示一幅图,如AutoCAD中的绘图语句。这种方法的本质是用数学(更准确地说是几何学)公式描述一幅图像。图像中每一个形状都是一个完整的公式,称为一个对象。对象是一个封闭的整体,所以定义图像上对象的变化和对象与其他对象的关系对计算机来说是简单的, 所有这些变化都不会影响到图像中的其他对象。
公式化表示图像使得矢量图具有两个优点:一是它的文件数据量很小;二是图像质量与分辨率无关,这意味着无论将图像放大或缩小了多少次,图像总是以显示设备允许的最大清晰度显示。在计算机计算与显示一幅图像时,也往往能看到画图的过程。但是,矢量图有一个明显的缺点,就是不易制作色调丰富或色彩变化太多的图像,而且绘出来的图像不是很逼真,同时也不易在不同的软件间交换文件。在Corel Draw和Adobe Illustrator中生成的图像均为矢量图
位图是通过许多像素点表示一幅图像,每个像素具有颜色属性和位置属性。位图可以从传统的相片、幻灯片上制作出来或使用数字相机得到, 也可以利用Windows的画笔(Painbrush)用颜色点填充网格单元来创建位图。位图又可以分成如下四种: 线画稿(LineArt)、灰度图像(GrayScale)、索引颜色图像(Index Color)和真彩色图像(True Color)。
2.2.1 位图 1. 线画稿 线画稿只有黑白两种颜色,这种形式通常也称为“黑白艺术”、 “位图艺术”、 “一位元艺术”。用扫描仪扫描图像,当设置成LineArt格式时, 扫描仪以一位颜色模式来看待图像。若样点颜色为黑,则扫描仪将相应的像素位元置为0, 否则置为1。线画稿适合于由黑白两色构成而没有灰度阴影的图像。图2-6所示是一幅线画稿图。
图2-6 线画稿图
2. 灰度图像 在灰度图像中,像素灰度级用8 bit表示,所以每个像素都是介于黑色和白色之间的256(28=256)种灰度中的一种。灰度图像只有灰度颜色而没有彩色。我们通常所说的黑白照片,其实包含了黑白之间的所有灰度色调。从技术上来说,就是具有从黑到白的256种灰度色域(Gamut)的单色图像。
3 . 索引图像 在介绍索引图像之前,我们首先了解PC机是如何处理颜色的。大多数扫描仪都是以24位模式对图像进行采样,即可以从图像中采样出1670万种不同的颜色。用这种方式获得的颜色通常称为RGB颜色。颜色深度为每像素24位的数字图像是目前所能获取、浏览和保存的颜色信息最丰富的彩色图像,由于它所表达的颜色远远超出了人眼所能辨别的范围,故将其称为“真彩色”。在真彩色出现之前, 由于技术上的原因,计算机在处理时并没有达到每像素24位的真彩色水平,为此人们创造了索引颜色。索引颜色通常也称为映射颜色, 在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限, 索引颜色的图像最多只能显示256种颜色。一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。
4. 真彩色图像 真彩色图像将像素的色彩能力推向了顶峰。“真彩色”是RGB颜色的另一种流行的叫法。从技术角度考虑, 真彩色是指写到磁盘上的图像类型, 而RGB颜色是指显示器的显示模式。RGB图像的颜色是非映射的,它可以从系统的“颜色表”里自由获取所需的颜色,这种图像文件里的颜色直接与PC机上的显示颜色相对应。在真彩色图像中,每一个像素由红、绿和蓝三个字节组成, 每个字节为8 bit,表示0到255之间的不同的亮度值,这三个字节组合可以产生1670万种不同的颜色。
2.2.2 位图的有关术语 1. 像素(Pixel)、点(Dot)和样点(Sample) 在计算机中,图像是由显示器上许多光点组成的, 将显示在显示器上的这些点(光的单元)称为像素。像素的分割有不同的方法, 实际常用正方形网格点阵分割方案,这是因为其像素网格点阵规范,易于在图像输入、输出设备上实现。在计算机图像处理中,还常用到点和样点这些术语。像素、 点和样点是在计算机上对不同阶段的图像进行度量的称谓,这几个术语很容易混淆, 故特一一做介绍。
首先说明样点和点的概念。扫描一幅图像时,需设置扫描仪的分辨率(Resolution), 分辨率决定了扫描仪从源图像里每英寸取多少个样点。扫描仪将源图像看成由大量的网格组成,然后在每一个网格里取出一点,用该点的颜色值来代表这一网格里所有点的颜色值,这些被选中的点就是样点。扫描仪的分辨率单位为dpi(每英寸点数),但激光打印机的dpi与扫描仪的dpi(样点)是不同的。实际上,以150 dpi分辨率扫描的图像,它的效果相当于激光打印机的1200 dpi的效果。(打印机--点) 像素并不像“克”和“厘米”那样是绝对的度量单位,而是可大可小的。如果获取图像时的分辨率较低(如50 dpi),则显示该图像时,每英寸所显示的像素个数也很少,这样就会使像素变得较大。
2. 分辨率 1) 图像分辨率 图像分辨率是指每英寸图像含有多少个点或像素, 分辨率的单位为dpi。例如,250 dpi表示的就是该图像每英寸含有250个点或像素。在数字图像中,分辨率的大小直接影响到图像的质量。分辨率越高,图像细节越清晰,但产生的文件尺寸大,同时处理的时间也就越长,对设备的要求也就越高。所以在制作图像时要根据需要来选择分辨率。另外,图像的尺寸、图像的分辨率和图像文件的大小三者之间有着密切的联系。图像的尺寸越大,图像的分辨率越高,图像文件也就越大。所以, 调整图像的大小和分辨率即可改变图像文件的大小。
2) 屏幕分辨率 显示器上每单位长度显示的像素或点的数量称为屏幕分辨率。通常以每英寸点数(dpi)来表示。屏幕分辨率取决于显示器的大小及其像素设置。屏幕分辨率由计算机的显示卡决定,标准的VGA显示卡的分辨率是640×480,即水平方向640点(像素), 垂直方向480点(像素)。
3) 打印机分辨率 打印机分辨率又称输出分辨率,是指打印机输出图像时每英寸的点数(dpi)。打印机分辨率也决定了输出图像的质量,打印机分辨率越高, 可以减少打印的锯齿边缘,在灰度的半色调表现上也会较为平滑。打印机的分辨率可达300 dpi,甚至720 dpi(需用特殊纸张);而较老机型的激光打印机分辨率通常在300~360 dpi之间,由于超微细碳粉技术的成熟,新的激光打印机的分辨率可达600~1200 dpi,作为专业排版输出已经绰绰有余了。
4) 扫描仪分辨率 扫描仪分辨率的表示方法与打印机相类似,一般也用dpi表示, 不过这里的点是样点,与打印机的输出点是不同的。一般扫描仪提供的方式是水平分辨率要比垂直分辨率高。台式扫描仪的分辨率可以分为光学分辨率和输出分辨率。光学分辨率是指扫描仪硬件所真正扫描到的图像分辨率,目前市场上的产品,其光学分辨率可达800~1200 dpi以上。输出分辨率是通过软件强化以及内插补点之后产生的分辨率,大约为光学分辨率的3~4倍。所以当你见到号称分辨率高达4800 dpi或6400 dpi的扫描仪时, 这一定指的是输出分辨率。
2.3 图像文件格式 数字图像有多种存储格式,每种格式一般由不同的开发商支持。随着信息技术的发展和图像应用领域的不断拓宽,还会出现新的图像格式。因此,要进行图像处理,必须了解图像文件的格式, 即图像文件的数据构成。每一种图像文件均有一个文件头, 在文件头之后才是图像数据。文件头的内容由制作该图像文件的公司决定,一般包括文件类型、文件制作者、制作时间、版本号、 文件大小等内容。各种图像文件的制作还涉及到图像文件的压缩方式和存储效率等。下面介绍几种常见的图像文件格式。
2.3.1 BMP图像文件格式
第一部分为位图文件头BITMAPFILEHEADER, 它是一个结构体,其定义如下: typedef struct tagBITMAPFILEHEADER{ WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER; 这个结构的长度是固定的,为14个字节(WORD为无符号16位二进制整数,DWORD为无符号32位二进制整数)。
第二部分为位图信息头BITMAPINFOHEADER,也是一个结构,其定义如下: typedef struct tagBITMAPINFOHEADER{ DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER;
这个结构的长度是固定的,为40个字节(LONG为32位二进制整数)。其中,biCompression的有效值为BI_RGB、 BI_RLE8、 BI_RLE4、BI_BITFIELDS,这都是一些Windows定义好的常量。由于RLE4和RLE8的压缩格式用的不多,今后仅讨论biCompression的有效值为BI_RGB,即不压缩的情况。
第三部分为调色板(Palette),当然,这里是对那些需要调色板的位图文件而言的。真彩色图像是不需要调色板的, BITMAPINFOHEADER后直接是位图数据。调色板实际上是一个数组, 共有biClrUsed个元素(如果该值为零,则有2的biBitCount次方个元素)。数组中每个元素的类型是一个RGBQUAD结构, 占4个字节,其定义如下: typedef struct tagRGBQUAD{ BYTE rgbBlue; //该颜色的蓝色分量 BYTE rgbGreen; //该颜色的绿色分量 BYTE rgbRed; //该颜色的红色分量 BYTE rgbReserved; //保留值 } RGBQUAD;
第四部分就是实际的图像数据。对于用到调色板的位图, 图像数据就是该像素颜色在调色板中的索引值,对于真彩色图像, 图像数据就是实际的R、 G、 B值。下面就2色、 16色、256色和真彩色位图分别介绍。 对于2色位图,用1位就可以表示该像素的颜色(一般0表示黑, 1表示白),所以一个字节可以表示8个像素。 对于16色位图,用4位可以表示一个像素的颜色,所以一个字节可以表示2个像素。 对于256色位图,一个字节刚好可以表示1个像素。
下面两点请注意: (1) 每一行的字节数必须是4的整数倍,如果不是,则需要补齐。这在前面介绍biSizeImage时已经提到过。 (2) BMP文件的数据存放是从下到上,从左到右的。也就是说, 从文件中最先读到的是图像最下面一行的左边第一个像素, 然后是左边第二个像素, 接下来是倒数第二行左边第一个像素, 左边第二个像素。依次类推, 最后得到的是最上面一行的最右边的一个像素。 DIB(Device Independent Bitmap)图像格式是设备无关位图文件,描述图像的能力基本与BMP相同,并且能运行于多种硬件平台,只是文件较大。
2.3.2 其他文件格式 1. TIF图像文件格式 标记图像文件格式TIF (Tag Image File Format), 它是现存图像文件格式中最复杂的一种,它提供存储各种信息的完备的手段, 可以存储专门的信息而不违反格式宗旨,是目前流行的图像文件交换标准之一。TIF格式文件的设计考虑了扩展性、 方便性和可修改性,因此非常复杂,要求用更多的代码来控制它,结果导致文件读写速度慢, TIF代码也很长。TIF文件由文件头、参数指针表与参数域、参数数据表和图像数据4部分组成。如表2-2~表2-4所示。
1) 文件头 表2-2 TIF文件文件头结构
2) 参数指针 表2-3 TIF文件参数指针表 由一个2字节的整数和其后的一系列12字节参数域构成,最后以一个长整型数结束。若最后的长整型数为0,表示文件的参数指针表到此为至,否则该长整数为指向下一个参数指针表的偏移。
3) 参数块结构 表2-4 TIF文件参数块结构
2. GIF图像文件格式 CompuServe开发的图形交换文件格式GIF(Graphics Interchange Format),目的是在不同的系统平台上交流和传输图像。它是在Web及其他联机服务上常用的一种文件格式,用于超文本标记语言(HTML)文档中的索引颜色图像, 但图像最大不能超过64 M,颜色最多为256色。GIF图像文件采取LZW压缩算法, 存储效率高,支持多幅图像定序或覆盖,交错多屏幕绘图以及文本覆盖。GIF主要是为数据流而设计的一种传输格式,而不是作为文件的存储格式。换句话说,它具有顺序的组织形式。GIF有五个主要部分以固定顺序出现, 所有部分均由一个或多个块(block)组成。每个块第一个字节中存放标识码或特征码标识。这些部分的顺序为:文件标志块、逻辑屏幕描述块、 可选的“全局”色彩表块(调色板)、 各图像数据块(或专用的块)以及尾块(结束码)。GIF图像文件格式如表2-5所示。
3. PCX文件 PCX文件格式由ZSoft公司设计, 最早使用的图像文件格式之一, 由各种扫描仪扫描得到的图像几乎都能保存成PCX格式。PCX支持256种颜色,不如TARGA或TIF等格式功能强,但结构较简单,存取速度快,压缩比适中,适合于一般软件的使用。 PCX 格式常用于 IBM PC 兼容计算机。大多数 PC 软件支持 PCX 格式的第 5 版。第 3 版文件使用标准的 VGA调色板,不支持自定义调色板。 PCX 格式支持RGB、索引颜色、灰度和位图颜色模式,但不支持 alpha 通道。PCX 支持 RLE 压缩方法, 图像颜色的位数可以是 1、 4、8 或 24。
PCX图像文件由三个部分组成: 文件头、 图像数据和256色调色板。PCX的文件头有128个字节,它包括版本号, 被打印或扫描的图像的分辨率(dpi)及大小(单位为像素), 每扫描行的字节数,每像素包含的位数据和彩色平面数。位图数据用行程长度压缩算法记录数据。
4. JPEG图像格式 JPEG(Joint Photographer’s Experts Group)格式即联合图像专家组, 是由ISO和CCITT为静态图像所建立的第一个国际数字图像压缩标准,主要是为了解决专业摄影师所遇到的图像信息过于庞大的问题。由于JPEG的高压缩比和良好的图像质量, 使得它广泛应用于多媒体和网络程序中。JPEG和GIF成为HTML语法选用的图像格式。 JPEG 格式支持 24 位颜色,并保留照片和其他连续色调图像中存在的亮度和色相的显著和细微的变化。JPEG一般基于DCT变换的顺序型模式压缩图像。JPEG 通过有选择地减少数据来压缩文件大小,因为它会弃用数据,故 JPEG 压缩为有损压缩。较高品质设置导致弃用的数据较少,但是 JPEG 压缩方法会降低图像中细节的清晰度, 尤其是包含文字或矢量图形的图像。
2.4 色度学基础与颜色模型 2.4.1 色度学基础 在前面学习灰度图像时,图像的像素值是光强, 即二维空间变量的函数f(x, y)。如果把灰度值看成是二维空间变量和光谱变量的函数f(x, y, λ),即多光谱图像,也就是通常所说的彩色图像。在计算机上显示一幅彩色图像时,每一个像素的颜色是通过三种基本颜色(即红、绿、蓝)合成的,即最常见的RGB颜色模型。要理解颜色模型, 首先应了解人的视觉系统。
1. 三色原理 在人的视觉系统中存在着杆状细胞和锥状细胞两种感光细胞。杆状细胞为暗视器官,锥状细胞是明视器官,在照度足够高时起作用, 并能分别辨颜色。锥状细胞将电磁光谱的可见部分分为三个波段:红、绿、蓝。由于这个原因,这三种颜色被称为三基色, 图2-7表示了人类视觉系统三类锥状细胞的光谱敏感曲线。
图2-7 人类感光细胞的敏感曲线
根据人眼的结构,所有颜色都可看作是三种基本颜色——R表示红(Red)、 G表示绿(Green)和B表示蓝(Blue)按照不同的比例组合而成。为了建立标准,国际照度委员会(CIE)早在1931年就规定三种基本色的波长分别为R:700 nm,G:546.1 nm,B: 435.8 nm。 前面已讲过,一幅彩色图像的像素值可看作是光强和波长的函数值f(x, y, λ),但实际使用时,将其看作是一幅普通二维图像, 且每个像素有红、绿、蓝三个灰度值会更直观些。
2. 颜色的三个属性 颜色是外界光刺激作用于人的视觉器官而产生的主观感觉。颜色分两大类:非彩色和彩色。非彩色是指黑色、白色和介于这两者之间深浅不同的灰色, 也称为无色系列。彩色是指除了非彩色以外的各种颜色。颜色有三个基本属性, 分别是色调、 饱和度和亮度。基于这三个基本属性,提出了一种重要的颜色模型HSI(Hue、 Saturation、 Intensity)。在HSI颜色模型部分中, 我们将详细介绍这三个基本属性。
2.4.2 颜色模型 为了科学地定量描述和使用颜色,人们提出了各种颜色模型。目前常用的颜色模型按用途可分为两类,一类面向诸如视频监视器、 彩色摄像机或打印机之类的硬件设备。另一类面向以彩色处理为目的的应用,如动画中的彩色图形。面向硬件设备的最常用彩色模型是RGB模型,而面向彩色处理的最常用模型是HSI模型。另外,在印刷工业上和电视信号传输中,经常使用CMYK和YUV色彩系统。
1. RGB模型 RGB模型用三维空间中的一个点来表示一种颜色,如图2-8所示。每个点有三个分量,分别代表该点颜色的红、绿、蓝亮度值, 亮度值限定在[0, 1]。 在RGB模型立方体中,原点所对应的颜色为黑色,它的三个分量值都为零。距离原点最远的顶点对应的颜色为白色,它的三个分量值都为1。从黑到白的灰度值分布在这两个点的连线上, 该线称为灰色线。立方体内其余各点对应不同的颜色。彩色立方体中有三个角对应于三基色——红、绿、蓝。剩下的三个角对应于三基色的三个补色——黄色、 青色(蓝绿色)、品红(紫色)。
图2-8 RGB模型单位立方体
2. HSI模型 HSI模型是Munseu提出的, 它反映了人的视觉系统观察彩色的方式,在艺术上经常使用HSI模型。HSI模型中,H表示色调(Hue),S表示饱和度(Saturation), I表示亮度(Intensity,对应成像亮度和图像灰度)。这个模型的建立基于两个重要的事实: ① I分量与图像的彩色信息无关;② H和S分量与人感受颜色的方式是紧密相联的。这些特点使得HSI模型非常适合借助人的视觉系统来感知彩色特性的图像处理算法。
图2-9中的色相环描述了色相和饱和度两个参数。色相由角度表示,它反映了该彩色最接近什么样的光谱波长。一般假定0°表示的颜色为红色, 120°的为绿色, 240°的为蓝色。0°到240°的色相覆盖了所有可见光谱的彩色,在240°到300°之间为人眼可见的非光谱色(紫色)。 饱和度是指一个颜色的鲜明程度,饱和度越高,颜色越深, 如深红,深绿。饱和度参数是色环的原点(圆心)到彩色点的半径的长度。由色相环可以看出,环的边界上纯的或饱和的颜色, 其饱和度值为1。在中心是中性(灰色)阴影, 饱和度为0。
图2-9 色相环
亮度是指光波作用于感受器所发生的效应,其大小由物体反射系数来决定,反射系数越大,物体的亮度愈大,反之愈小。 HSI模型的三个属性定义了一个三维柱形空间, 如图2-10所示。灰度阴影沿着轴线从底部的黑变到顶部的白,具有最高亮度。最大饱和度的颜色位于圆柱上顶面的圆周上。
图2-10 柱形彩色空间
1) RGB转换到HSI 对任何3个[0, 1]范围内的R、G、B值,其对应HSI模型中的I、S、H分量的计算公式为 (2-4)
式(2-4)计算出的H值的范围为 [0°, 180°], 对应于G≥B。在G<B时,H值大于180°,只要令H=360°-H,即可把H转换到[180°,360°]区间。所以若将两种情况都考虑上, 则由式(2-4)算得的H是在[0°,360°]范围内。当S=0时对应的是无色彩的中心点,这时H就没有意义,此时定义H为0。当I=0时,S也没有意义。
2) HSI转换到RGB 假设S、I的值在[0,1]之间,R、G、B的值也在[0,1]之间,则HSI转换为RGB的公式为(分成3段以利用对称性) (1)当H在[0°,120°]之间 (2-5)
(2) 当H在[120°,240°]之间 (2-6)
(3) 当H在[240°,360°]之间 (2-7)
3. CMYK表色系统 CMYK表色系统也是一种常用的表示颜色的方式。计算机屏幕显示通常用RGB表色系统,它是通过相加来产生其他颜色, 这种做法通常称为加色合成法(Additive Color Synthesis)。而在印刷工业上则通常用CMYK表色系统,它是通过颜色相减来产生其他颜色的,所以称这种方式为减色合成法(Subtractive Color Synthesis)。 CMYK模式的原色为青色(Cyan)、品红色(Magenta)、黄色(Yellow)和黑色(Black)。在处理图像时,一般不用CMYK模式, 主要是因为这种模式的文件大, 占用的磁盘空间和内存大。这种模式一般在印刷时使用。
4. 其他表色系 1) YUV电视信号彩色坐标系统 YUV彩色电视信号传输时,将R、G、B改组成亮度信号和色度信号。PAL制式将R、G、B三色信号改组成Y、U、V信号, 其中Y信号表示亮度,U、V信号是色差信号。 RGB与YUV之间的对应关系如下:
(2-8) (2-9)
2) Lab表色系 Lab颜色模型是CIE于1976年推荐的设计成符合孟塞尔彩色系统的表色系。Lab 颜色由亮度或光亮度分量L 和a、b两个色度分量组成。其中a在的正向数值越大表示越红,在负向的数值越大则表示越绿;b在的正向数值越大表示越黄,在负向的数值越大表示越蓝。Lab颜色与设备无关, 无论使用何种设备(如显示器、打印机、计算机或扫描仪)创建或输出图像,这种模型都能生成一致的颜色。
(2-10) 式中X0、Y0、Z0为标准白色对应的X、Y、Z值。