- 计算机视觉教程(第2版)
- 章毓晋编著
- 6417字
- 2021-01-15 19:27:25
1.2 图像基础
计算机视觉是利用计算机对从客观世界采集的图像进行加工来实现视觉功能的,所以图像技术在其中起着重要的作用。本节先概括介绍一些有关图像的基本概念,然后简单介绍用计算机加工图像的系统都具有的两个模块,即存储和显示。另一个重要的模块是图像采集,将在第2章专门介绍。其他各种加工模块将在本书后续的章节分别进行具体介绍。
1.2.1 图像及类别
图像是用各种观测系统以不同形式和手段观测客观世界而获得的,可以直接或间接作用于人眼,进而产生视知觉的实体[章1996a]。人的视觉系统就是一个观测系统,通过它得到的图像就是客观事物在人心目中形成的影像。下面给出各种图像的简单定义。
1.图像种类
图像可看作是对辐射(光是典型的示例)强度模式的空间分布的一种表示,是将空间辐射强度模式进行投影得到的。将3-D空间投影得到的2-D成像平面称为图像平面,简称像平面。
表示图像所反映的辐射能量在空间分布情况的函数称为图像表达函数。这种分布函数在广义上可以是5个变量的函数,即T(x,y,z,t,λ),其中x,y,z 是空间变量,t 是时间变量,λ 是辐射的波长(对应频谱变量)。这种情况下也称为通用图像表达函数。由于实际图像在时空上都是有限的,所以T(x,y,z,t,λ)是一个5-D有限函数。需要注意的是这个函数中的T 可以是标量,也可以是矢量。
如果考虑上述5个变量的不同取值范围和变化情况,图像的种类和形式是很多的。例如,考虑辐射波长的不同,有γ 射线图像(利用波长约在0.001~1 nm之间的伽马光所获得的图像)、X射线图像(利用波长在1~10 nm之间的X光所获得的图像)、紫外线图像(利用波长在10~380 nm之间的紫外光所获得的图像)、可见光图像(利用波长在380~780 nm之间,人类视觉可感知到的光辐射作为辐射能源所产生的光所获得的图像)、红外线图像(利用波长在780~1500 nm之间的红外光所获得的图像)、微波图像(利用波长在1 mm~10 m之间的微波所获得的图像)、无线电波图像(利用波长在10 m~50 km的无线电波所获得的图像)、交流电波图像(利用波长约在100 km以上的交流电波所获得的图像)等。
再如考虑图像的类型,也有许多变型。相对于普通的 2-D 图像(分布在一个平面上图像),还有3-D图像(一系列2-D图像的集合或利用一些特殊设备得到的3个变量的图像)、彩色图像(给人以彩色感受的矢量图像)、多光谱图像(包含多个频谱区间的一组图像,每幅图像对应一个频谱区间,如多数遥感图像)、立体图像和多视图像(包含由不同位置和朝向的多个摄像机获得的同一场景的一组图像)等;相对于静止图像或单幅图像,还有序列图像或图像序列(时间上有一定顺序和间隔,内容上相关的一组图像),视频图像(简称视频,是一种特殊的序列图像或图像序列)等;相对于常见的反映辐射量强度的灰度图像,还有反映场景中景物与摄像机间距离信息的(深度值)深度图像、反映景物表面纹理特性和纹理变化的纹理图像、反映景物物质对辐射吸收值的投影重建图像(利用投影重建原理获得的图像)等。投影重建图像实际上是一个大类,最常见的是计算机断层扫描图像,其中又可分为发射断层图像(CT或XCT)、正电子发射图像(PET)和单光子发射图像(SPECT)。另外,磁共振图像(MRI)和雷达图像(合成孔径图像就是一种常用的雷达图像)都是利用投影重建原理获得的。
2.模拟图像
人从连续的客观场景直接观察到的图像是空间连续和幅度连续的模拟图像,也称连续图像。
客观世界在空间上是三维(3-D)的,但一般从客观景物得到的图像是二维(2-D)的。一幅图像可以用一个2-D数组f (x,y)来表示,这里的x和y表示2-D空间XY中一个坐标点的位置(实际图像的尺寸是有限的,所以x和y的取值也是有限的),而f则代表图像在点(x,y)的某种性质空间F的数值(实际图像中各个位置上所具有的性质的取值也是有限的,所以f的取值也是有限的)。例如常用的图像一般是灰度图像,这时 f 表示灰度值,它常对应客观景物被观察到的亮度。图像在点(x,y)也可有多种性质,此时可用矢量f来表示。例如一幅彩色图像在每一个图像点同时具有红、绿、蓝3个值(它们的组合给出彩色的感觉),可记为[fr(x,y),fg(x,y),fb(x,y)]。需要指出的是,人们总是根据图像内不同位置的不同性质来利用图像的。
以上讨论中认为图像在空间或性质上都可以是连续的。事实上,日常所见的自然界图像有许多是连续的,即f,x,y的值可以是任意实数。
3.数字图像
为了能用计算机对图像进行加工,需要把连续的模拟图像分别在其坐标空间XY和性质空间F都离散化。这种空间和幅度都离散化了的图像是数字图像,是客观事物的可视数字化表达。数字图像可以用I(r,c)来表示,其中I,c,r的值都是整数。这里I代表离散化后的f,(r,c)代表离散化后的(x,y),其中r代表图像的行(row),c代表图像的列(column)。本书以后主要讨论计算机视觉,在不至引起混淆的情况下仍用f(x,y)代表数字图像,这里如不做特别说明,f,x,y都在整数集合中取值。例如,文本图像常表示为二值图像,即此时f的取值只有两个:0和1。另外,计算机中的图像都是数字化了的图像,所以如不做特别说明,本书以后就用图像代表数字图像。
1.2.2 图像表达和显示
根据应用领域的不同,可以有多种不同的方法来表达和表示图像,或将图像以一定的形式显示出来。图像表达是图像显示的基础,而图像显示是计算机视觉系统的重要模块之一。
要对图像进行表达和显示,需要对图像的各个单元进行表达和显示。图像中的每个基本单元称为图像元素。
1.图像表达
前面提到,一幅2-D图像可以用一个2-D数组f(x,y)来表示。实际中还常将一幅2-D图像写成一个2-D的M×N矩阵(其中M和N分别为图像的总行数和总列数):
式(1.2.1)就是图像的矩阵表达形式,矩阵中的每个元素对应一个像素。
一幅2-D图像也可以用矢量来表示,一般写成如下的形式:
其中
式(1.2.3)就是图像的矢量表达形式,各个矢量中的每个元素也对应一个像素。
图像的矢量表达和矩阵表达是图像的两种常用表示形式,它们之间可以方便地互相转换。
2.图像显示设备
计算机视觉系统中使用计算机对图像进行加工,加工后的结果通常仍是图像,且主要用于输出显示给人看,所以图像显示对计算机视觉来说是非常重要的。将图像显示出来是计算机视觉系统与用户交流中的重要步骤。
常用的计算机视觉系统的显示设备主要包括可以随机存取的阴极射线管(CRT)、电视显示器和液晶显示器(LCD)。在CRT中,电子枪束的水平、垂直位置可由计算机控制。在每个偏转位置,电子枪束的强度是用电压来调制的。每个点的电压都与该点所对应的灰度值成正比,这样灰度图就转化为光亮度变化的模式,这个模式被记录在阴极射线管的屏幕上。输入显示器的图像也可以通过硬拷贝转换到幻灯片、照片或透明胶片上。
除了显示器,各种打印设备如各种打印机也可看作是图像显示设备。打印设备一般用于输出较低分辨率的图像。早年在纸上打印灰度图像的一种简便方法是利用标准行打印机的重复打印能力实现。输出图像上任一点的灰度值可由该点打印的字符数量和密度来控制。近年来使用的各种热敏、热升华、喷墨和激光打印机等具有更高的能力,可打印具有较高分辨率的图像。
3.表达和显示方式
图像的表达和显示是密切相关的,图像显示是对图像的可视表达方式。对2-D图像的显示可以采取多种形式,其基本思路是将2-D图像看作在2-D空间中的一种幅度分布。根据图像的不同,采取的显示方式也不同,如对二值图像,在每个空间位置的取值只有两个,可用黑白来区别,也可用0和1来区别。
例1.2.1 二值图像显示方式
图1.2.1所示为对同一幅2-D的二值图像的3种不同的显示方式。在图像表达的数学模型中,一个像素区域常用其中心来表示,基于这些中心的表达形式就是将图像显示成平面上的离散点集,对应于图1.2.1(a)。如果将像素区域用其所覆盖的区域来表示,就得到图1.2.1(b)所示的图形。把幅度值标在图像中相应的位置,就得到图1.2.1(c)所示的类似矩阵表达的结果。用图1.2.1(b)所示的形式也可表示有多个灰度的图像,此时需要用不同深浅的色调表示不同的灰度。用图1.2.1 (c)所示的形式也可表示有多个灰度的图像,此时将不同灰度用不同的数值表示。
图1.2.1 3种表达同一幅4×4的二值图像的方式
例1.2.2 灰度图像显示示例
图1.2.2所示为两幅典型的灰度图像,它们都是常用的公开图像,或称标准图像。图1.2.2(a)所用的坐标系统常在屏幕显示中采用(屏幕扫描是从左向右,从上向下进行的),它的原点(origin) O在图像的左上角,纵轴标记图像的行,横轴标记图像的列。f(x,y)既可以代表这幅图像,也可以表示在(x,y)行列交点处的图像值。图1.2.2(b)所用的坐标系统常在图像计算中采用,它的原点在图像的左下角,横轴为X轴,纵轴为Y轴(与常用的笛卡儿坐标系相同)。同样,f(x,y)既可代表这幅图像,也可表示在(x,y)坐标处像素的值。
图1.2.2 标准图像显示示例
1.2.3 图像存储
要将采集的图像输入计算机系统,需要有相应的图像存储器。在对图像的加工中,也常需要存储其中间结果和最终结果(很多为图像形式)。所以图像存储也是计算机视觉系统的重要模块之一。
1.图像存储器
图像包含有大量的信息,因而存储图像也需要大量的空间。在图像处理和分析系统中,大容量和快速的图像存储器是必不可少的。在计算机中,图像数据最小的量度单位是比特(bit)。存储器的存储量常用字节(1 byte = 8 bit)、千字节(k byte)、兆(10 6)字节(M byte)、吉(10 9)字节(G byte)、太(10 12)字节(T byte)等表示。例如,存储一幅1024像素×1024像素的8比特图像需要1兆字节的存储器。
图像存储器包括磁带(magnetic tape)、磁盘(magnetic disk)、固态硬盘(solid state disk,SSD)、闪速存储器(flash memory)、光盘(optical disk)、磁光盘(magneto-optical disk)等。用于图像处理的存储器可分为如下3类。
(1)处理过程中使用的快速存储器。
(2)可以比较快地重新调用的在线或联机存储器。
(3)不经常使用的数据库(档案库)存储器。
计算机内存就是一种提供快速存储功能的存储器。目前一般微型计算机的内存常为几吉字节到几十吉字节。另一种提供快速存储功能的存储器是特制的硬件卡,也叫帧缓存。它可存储多幅图像,并可以视频速度(每秒25或30幅图像)读取。它也可以允许对图像进行放大和缩小,以及垂直翻转和水平翻转。目前常用的帧缓存容量可达几十吉字节。
磁盘(也称硬盘)是比较通用的在线存储器,常用的Winchester磁盘可存储太字节的数据。近年固态硬盘得到较多应用,它多采用闪存作为存储介质,具有读写快速、质量轻、能耗低、体积小以及数据保护不受电源控制等特点,但其价格仍较为昂贵,容量较低。另外还有磁光(MO)存储器,它可在5¼英寸的光片上存储上吉字节的数据。在线存储器的一个特点是需要经常读取数据,所以一般不采用磁带一类的顺序介质。对于更大的存储要求,还可以使用光盘塔和光盘阵列,一个光盘塔可放几十张到几百张光盘,利用机械装置插入或从光盘驱动器中抽取光盘。
数据库存储器的特点是要求非常大的容量,但对数据的读取不太频繁。这里常用磁带和光盘。长13英尺的磁带可存储上吉字节的数据,但磁带的储藏寿命较短,在控制很好的环境中也只有7年。一般常用的一次写多次读(write-once-read-many,WORM)光盘可在12英寸的光盘上存储6吉字节的数据,在14英寸的光盘上存储10吉字节的数据。另外,WORM光盘在一般环境下可储藏30年以上。在主要是读取的应用中,也可将WORM光盘放在光盘塔中。一个存储量达到太字节级的WORM光盘塔可存储上百万幅百万像素的灰度和彩色图像。
2.图像文件格式
在计算机系统中,图像常以文件形式存储。图像文件指包含图像数据的文件,文件内除图像数据本身以外,一般还有对图像的描述信息等,以方便读取、显示图像。
表示图像常使用两种不同的方式,一种是矢量表示形式,另一种是光栅(也称位图或像素图)表示形式。图像文件可以采用任一种形式,也可以结合使用两种形式。
在图像的矢量表达中,图像是用一系列线段或线段的组合体来表示的,线段的灰度(色度)可以是均匀的或变化的,在线段的组合体中各部分也可用不同灰度填充。矢量文件就像程序文件,里面有一系列命令和数据,执行这些命令就可根据数据画出图案。矢量文件主要用于图形数据文件。
图像数据文件主要使用光栅表示形式,该种形式与人对图像的理解一致(一幅图像是许多图像点的集合),比较适合色彩、阴影或形状变化复杂的图像。它的主要缺点是缺少对像素间相互关系的直接表示,且限定了图像的空间分辨率。后者带来两个问题,一个是将图像放大到一定程度就会出现方块效应,另一个是如果将图像缩小再恢复到原尺寸,则图像会变得比较模糊。
图像数据文件的格式有很多种,不同的系统平台和软件常使用不同的图像文件格式。例如,Macintosh机上普遍使用MacPaint格式(固定大小,宽为576像素,高为720像素),PC Paintbrush支持PCX格式(包括单色、16色、256色),Digital Research(现Novell)支持GEM IMG格式,Sun Microsystems支持Sun光栅格式等。
下面简单介绍4种应用比较广泛的图像文件格式。
(1)BMP格式
BMP格式是Windows环境中的一种标准(但很多Macintosh应用程序不支持它),它的全称是Microsoft设备独立位图(DIB)。BMP图像文件也称位图文件,其中包括3部分内容:① 位图文件头(也称表头);② 位图信息(常称调色板);③ 位图阵列(即图像数据)。一个位图文件只能存放一幅图像。
位图文件头长度固定为54个字节,它给出图像文件的类型、大小和位图阵列的起始位置等信息。位图信息给出图像的长和宽、每个像素的位数(可以是 1、4、8 和 24,分别对应单色、16色、256色和真彩色的情况)、压缩方法、目标设备的水平和垂直分辨率等信息。位图阵列给出原始图像里每个像素的值(每3个字节表示一个像素,分别是蓝、绿、红的值),它的存储格式有压缩(仅用于16色和256色图像)和非压缩两种。
(2)GIF格式
GIF 格式是一种公用的图像文件格式标准,它是 8 位文件格式(一个像素一个字节),所以最多只能存储256色图像。GIF文件中的图像数据均为压缩过的。
GIF文件结构较复杂,一般包括7个数据单元:文件头、通用调色板、图像数据区,以及4个补充区。其中,表头和图像数据区是不可缺少的单元。
一个 GIF 文件中可以存放多幅图像(这个特点对实现网页上的动画非常有利),所以文件头中包含适用于所有图像的全局数据和仅属于其后那幅图像的局部数据[戴2002]。当文件中只有一幅图像时,全局数据和局部数据一致。存放多幅图像时,每幅图像集中成一个图像数据块,每块的第一个字节是标识符,指示数据块的类型(可以是图像块、扩展块或文件结束符)。
(3)TIFF格式
TIFF格式是一种独立于操作系统和文件系统的格式(在Windows环境和Macintosh机上都可使用),便于在软件之间进行图像数据交换。TIFF图像文件包括文件头(表头)、文件目录(标识信息区)和文件目录项(图像数据区)。文件头只有一个,且在文件前端。它给出数据存放顺序、文件目录的字节偏移信息。文件目录给出文件目录项的个数信息,并有一组标识信息,给出图像数据区的地址。文件目录项是存放信息的基本单位,也称为域。从类别上讲,域的种类主要包括基本域、信息描述域、传真域、文献存储和检索域5类。
TIFF 格式的描述能力很强,可制定私人用的标识信息。TIFF 格式支持任意大小的图像,文件可分为 4 类:二值图像、灰度图像、调色板彩色图像和全彩色图像。一个 TIFF 文件中可以存放多幅图像,也可存放多份调色板数据。
(4)JPEG格式
JPEG 格式源自对静止灰度或彩色图像的一种压缩标准JPEG[章 2012b],在使用有损压缩方式时可节省的空间是相当大的,目前数码相机中均使用这种格式。
JPEG 标准只是定义了一个规范的编码数据流,并没有规定图像数据文件的格式。Cube Microsystems公司定义了一种JPEG文件交换格式(JFIF)。JFIF图像是一种使用灰度表示或使用Y,Cb,Cr分量彩色表示的JPEG图像。它包含一个与JPEG兼容的文件头。一个JFIF文件通常包含单个图像,图像可以是灰度的(其中的数据为单个分量),也可以是彩色的(其中的数据是Y,Cb,Cr分量)。Y,Cb,Cr分量与常见的R,G,B三原色的关系如下:
TIFF 6.0也支持用JPEG压缩的图像,TIFF文件可以包含直接DCT的图像,也可以包含无损JPEG图像,还可以包含用JPEG编码的条或块的系列(这样允许只恢复图像的局部而不用读取全部内容)。