人工智能基础
上QQ阅读APP看书,第一时间看更新

3.1 计算机眼中的图像

学习图像特征提取之前,先来看一下图像(image)在计算机中是如何表示的。如果将一幅图像放大,可以看到它是由一个个的小格子组成的,每个小格子是一个色块(图3-1)。如果用不同的数字来表示不同的颜色,图像就可以表示为一个由数字组成的矩形阵列,称为矩阵(matrix),这样就可以在计算机中存储。这里的小格子我们称之为像素(pixel);而格子的行数与列数,统称为分辨率(resolution)。我们常说的屏幕分辨率是1280×720,指的就是这张图是由1280行、720列的像素组成的,为了防止闪烁,每秒要重复几十次扫描过程。一般刷新频率大于80Hz,人眼感受不到因屏幕刷新而产生的闪烁,这种显示器被称为映像设备。所谓位映像,就是指一个二维的像素矩阵,位图就是采用位映像方法显示和存储的图像。如图中的(xy)点。反过来,如果给出一个数字组成的矩阵,我们将矩阵中的每个数值转换为对应的颜色,并在计算机屏幕上显示出来,就可以复现这张图像(图3-2)。

图3-1 人脸和放大后的人脸位图

图3-2 图像的像素

就像照片分为黑白和彩色一样,在图像里也有灰度图像和彩色图像之分。对于灰度图像,由于只有明暗的区别,因此只需要一个数字就可以表示出不同的灰度。通常用8bit对图像的每个像素点进行信息的存储,此时像素的颜色就可以被划分为28=256个取值,我们用0表示最暗的黑色,255表示最亮的白色,介于0和255之间的整数则表示不同明暗程度的灰色(当只有0和255的时候,图像退化为二值图像)。对于彩色图像,我们用(R,G,B)三个数字来表示一个颜色,它表示用红(R)、绿(G)、蓝(B)三种基本颜色叠加后的颜色。对于每种基本颜色,我们也用0~255的整数表示颜色分量的明暗程度。三个数字中对应某种基本颜色的数字越大,表示该基本颜色的比例越大,例如,(255,0,0)表示纯红色,(0,255,0)表示纯绿色,(135,206,255)是天蓝色。

3.1.1 二值图像

如图3-3所示,二值图像(binary image),按名字来理解只有0和1两个值,0代表黑,1代表白,或者说0表示背景,而1表示前景。其保存也相对简单,每个像素只需要1bit就可以完整存储信息。如果把每个像素看成随机变量,一共有N个像素,那么二值图像有2N种变化,而8位灰度图有255N种变化,8位三通道RGB图像有(255×255×255)N种变化。也就是说同样尺寸的图像,二值图像保存的信息更少。二值图像上的每一个像素只有两种可能的取值或灰度等级状态,人们经常用黑白图像、单色图像表示二值图像。

图3-3 二值图像

3.1.2 灰度图像

如图3-4所示,灰度图像(gray image)是二值图像的进化版本,是彩色图像的退化版本,也就是说灰度图像保存的信息没有彩色图像多,但比二值图像多,灰度图像只包含一个通道的信息,而彩色图像通常包含三个通道的信息,单一通道可以理解为单一波长的电磁波,所以,红外遥感、X断层成像等单一通道电磁波产生的图像都为灰度图像,而且在实际中灰度图像易于采集和传输等性质的存在使得基于灰度图像开发的算法非常丰富。灰度图像是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮白色的灰度,理论上这个采样可以是任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色。但是,灰度图像在黑色与白色之间还有许多级的颜色深度。灰度图像经常是在单个电磁波频谱(如可见光)内测量每个像素的亮度得到的,用于显示的灰度图像通常用每个采样像素8位的非线性尺度来保存,这样可以有256级灰度(如果用16位,则有65536级)。

图3-4 灰度图像

3.1.3 彩色图像

如图3-5所示,彩色图像中每个像素通常是由红(R)、绿(G)、蓝(B)三个分量来表示的,分量介于0到255之间。

通过对图像的初步学习,我们知道一张彩色图像可以用一个由整数组成的立方体阵列来表示。我们称这样按立方体排列的数字阵列为三阶张量(tensor)。这个三阶张量的长度与宽度即为图像的分辨率,高度为3。对数字图像而言,三阶张量的高度也称为通道(channel)数,因此我们也说彩色图像有三个通道。矩阵可以看作是高度为1的三阶张量,因此灰度图像只有一个通道。

图3-5 彩色图像

扫描二维码可查看彩色图像