数字图像处理及应用:使用MATLAB分析与实现
上QQ阅读APP看书,第一时间看更新

2.1 数字图像的类型

在计算机中,为方便对数字图像进行处理,静态数字图像根据其特性可以分为矢量(vector)图和位图(bitmap),位图也称为栅格图像。

矢量图是采用一系列绘图指令来表示一幅图,这种方法的本质是以数学和几何学中的公式描述一幅图像,图像中每一个形状都是一个完整的公式,称为一个对象。对象是一个封闭的整体,所以定义图像上对象的变化以及与其他对象的关系对计算机来说是简单的,所有这些变化都不会影响到图像中的其他对象。数学形式的矢量图文件具有两个显著的优点:数据量很小;图像质量与分辨率无关。无论将矢量图像放大或缩小多少次,图像总是以显示设备允许的最大清晰度显示,在计算机计算与显示一幅图像时,也往往能看到画图的过程。但矢量图也具有明显的缺点,即不易制作色调丰富或色彩变化太多的图像,而且绘出来的图像逼真度差,也不易在不同的软件间交换文件。

位图是计算机表示数字图像最常用的一种类型。根据颜色和灰度级数量,可以将位图分为二值图像、灰度图像、索引图像和RGB彩色图像四种基本类型。目前,大多数图像处理软件都支持这四种类型的图像。

1. 二值图像

二值图像的灰度值只有0、1,其中灰度值0代表黑色,1代表白色。因此,二值图像所对应的二维矩阵元素也由0、1构成。由于每一像素(矩阵中每一元素)的取值只有0、1两种,所以计算机中二值图像的数据类型采用一个二进制位表示。采用扫描仪扫描图像时,若设置为LineArt格式,则扫描仪以一位颜色模式来看待图像。若采样点颜色为黑,则扫描仪将相应的像素位元置为0,否则置为1。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。

二值图像又称为线画稿,即只有黑、白两种颜色,这种形式通常也称为“黑白艺术”“位图艺术”“一位元艺术”。

2. 灰度图像

灰度图像一般指具有256级灰度值的数字图像,灰度图像只有灰度值而没有彩色。因此,每个像素都是介于黑色和白色之间的256种灰度中的一种。256级灰度值图像的数据类型为8位无符号整数,灰度值0表示纯黑色,255表示纯白色,0~255之间的数字由小到大表示从纯黑到纯白之间的过渡色。二值图像可以看成是灰度图像的一个特例。

在一些软件中,灰度图像也可以采用双精度数据类型(double)表示,对应的像素值域为[0,1),其中0代表纯黑色,1代表纯白色,0~1之间的小数表示不同的灰度等级。

3. 索引图像

索引图像的文件结构与灰度图像和RGB图像文件不同,它既包括存放图像数据的二维矩阵,还包括一个颜色索引矩阵(称为MAP),因此称为索引图像,又称为映射图像。MAP矩阵也可以由二维数组表示,MAP的大小由存放图像的矩阵元素的值域(即灰度值范围)决定。例如,若矩阵元素值域为0~255,则MAP矩阵的大小为256×3,矩阵的三列分别为R(红)、G(绿)、B(蓝)值,以MAP=[R G B]表示。图像矩阵的每一个灰度值对应于MAP中的一行,如某一像素的灰度值为64,则表示该像素与MAP矩阵的第64行建立了映射关系,该像素在屏幕上的显示颜色由MAP矩阵第64行的[R G B]叠加而成。也就是说,计算机打开图像文件时,其索引矩阵也同时读入,图像每一像素的颜色以灰度值作为索引,通过检索颜色索引矩阵MAP得到实际颜色。计算机中,索引图像的数据类型一般为8位无符号整型,即索引矩阵MAP的大小为256×3。因此,一般索引图像只能同时显示256种颜色。

与灰度图像一样,索引图像的数据类型也可采用双精度浮点型(double)。索引图像一般用于存放色彩要求比较简单的图像,如Windows中色彩构成比较简单的壁纸多采用索引图像存放,如果图像的色彩比较复杂,就要用到RGB彩色图像。

4. RGB彩色图像

RGB彩色图像又称为真彩色图像,RGB彩色图像与索引图像都是计算机可以处理的彩色图像。RGB彩色图像也同样以R、G、B三原色的叠加来表示每个像素的颜色。与索引图像不同的是,RGB彩色图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,不需要进行索引。由于数字图像以二维矩阵表示,而每一像素的颜色需由R、G、B三个分量来表示,因此RGB彩色图像矩阵需要采用三维矩阵表示,即M×N×3矩阵,MN分别表示图像的行、列数,三个M×N的二维矩阵分别表示各个像素的R、G、B颜色分量。RGB彩色图像的数据类型一般为8位无符号整型,通常用于表示和存放真彩色图像,当然也可以存放灰度图像。

虽然索引图像和RGB彩色图像都可以存放彩色图像,但两者之间数据结构不同,因此存在明显差别。由于索引图像所表示的颜色数量是由索引矩阵MAP的大小决定的,而MAP的大小又由像素灰度值的值域决定,所以在8位无符号整型数据的情况下,索引图像只能表示256种颜色;而RGB彩色图像则将每一像素的R、G、B三个颜色分量直接存放在三维图像矩阵中,因此理论上其所表示的颜色可多达224(28×28×28)种颜色,远远多于索引图像的256(28)种颜色,而且像素的颜色直接存放在图像矩阵中,在读取数据时无须索引,所以RGB彩色图像的显示速度很快。但索引图像也有自己的优点。首先,其所占用的存储空间远远小于RGB彩色图像,因此在对图像颜色要求不高的情况下,一般可采用索引图像存放彩色图像。其次,由于索引图像的颜色值存放在索引矩阵MAP中,在修改图像的颜色时直接修改索引矩阵即可,而不需要修改图像矩阵,因此在比较选择不同的图像处理方案时,索引图像显得非常方便。

综上所述,可以看出在图像的四种基本类型中,随着图像所表示的颜色类型的增加,图像所需的存储空间逐渐增加。二值图像仅能表示黑、白两种颜色,但所需的存储空间最少;灰度图像可以表示由黑到白渐变的256个灰度级,每个像素需要一个字节存储空间;索引图像可以表示256种颜色,与灰度图像一样,每个像素需要一个字节存储,而为了表示256种颜色,还需要一个256×3颜色索引矩阵;RGB彩色图像可以表示224种颜色,相应的每个像素需要3字节的存储空间,是灰度和索引图像的3倍。因此,在用高级语言(如C++)编程存取不同类型图像文件时要注意文件指针的最小寻址单元。表2-1给出了四种基本图像类型表示的颜色类型和存储空间的统计(假设图像大小为M×N)。

表2-1 四种图像类型的比较

对于数字图像处理技术而言,一般都包括以上这四种基本类型图像文件。此外,在多媒体技术中还会遇到高维图像,即图像矩阵的维数大于3,如多媒体动画图像,由于一个动画图像可包含多帧RGB彩色图像,因此动画图像本质上是四维矩阵M×N×3×P,即每一帧图像本身是一个三维矩阵(M×N×3),而动画彩色图像共有P帧RGB彩色图像。