2.2 图像的数学表征
2.2.1 图像基本模型
由前面内容可知,图像可以用函数来表示。假设一幅图像被定义为一个二维函数I(x,y),其中,(x,y) 是空间二维平面坐标,在任何一个空间坐标(x,y) 处的函数幅值I(x,y) 称为图像在该点处的强度、亮度或灰度。当x、y和I(x,y) 是有限的离散数值时,该图像称为数字图像。数字图像是由有限数量的元素组成的,每个元素都有一个特定的位置(x,y) 和幅值I(x,y),这些元素称为图像元素或像素(Pixel)。
I(x,y) 是一个正的标量,其强度值正比于物理源(电磁波)所辐射的能量。因此,I(x,y) 具有非零性和有限性,即
0<I(x,y)<∞
(2-1)
I(x,y) 可由两个分量来表征:一是入射到被观察场景的光照总量;二是场景中物体所反射的光照总量。这两个分量分别称为入射分量和反射分量,且分别表示为i(x,y) 和r(x,y),因此,这两个分量相乘就可以得到I(x,y),即
I(x,y)=i(x,y)r(x,y)
(2-2)
式中:
0<i(x,y)<∞
(2-3)
0<r(x,y)<1
(2-4)
式(2-4)指出,反射分量限制在0(全吸收)和1(全反射)之间。i(x,y) 的性质取决于照射光源,而r(x,y) 的性质取决于成像物体的特征。这种表示方式还可用于照射光通过一个媒体形成图像的情况,如胸透X射线图片,用透射系数代替反射系数,其余不变。
2.2.2 图像数字化
为了用计算机存储、处理图像,我们必须用合适的离散数据结构来表示图像,如采用矩阵的形式,因此,图像就需要进行数字化。图像的数字化过程一般包含两部分:采样和量化。假设图像采集器所获取的图像是平面上两个坐标的函数I(x,y),采样是指将I(x,y) 采样为一个M行N列的矩阵,即对坐标x和y进行数字化;而量化则是指将I(x,y) 的幅值划分为k个区间,为每个区间赋予一个整数数字,即对I(x,y) 的幅值进行量化。采样及量化越精细(M、N、k越大),I(x,y) 对原始图像的近似就越好。
1.采样
图像采样有两个问题:一是确定采样的间隔,即相邻采样图像点的距离;二是设置采样点的几何排列,即采样栅格。一幅图像在采样点处被数字化,这些采样点是在平面上有规则排列的,称它们的几何关系为栅格。因此,数字图像就成为一个数据结构,通常是矩阵。在此需要注意栅格与光栅的区别,光栅是指在点之间定义了相邻关系的栅格。在实际应用中,栅格通常是方形的或是正六边形的,如图2-6所示。
图2-6 栅格示意图
栅格中一个无限小的采样点对应于数字图像中的一个像素,称为图像元素、像元(Image Element),整幅图像被全体像素覆盖,这个定义与前面的定义实质上是一样的。实际的数字转换器捕捉的像素具有有限的尺寸,这是因为采样函数不是一组理想的狄拉克冲击,而是一组有限冲击。从图像分析的角度看,像素是不能再分割的一个单位,通常也用一个“点”来表示一个像素。
2.量化
在图像处理中,采样的图像数值用一个数字来表示。量化是将图像函数I(x,y) 的连续数值(亮度值)转变为其数字等价量的过程。为了使人们能够察觉图像的细致变化,量化级别要足够高。大部分数字图像处理都采用k个等间隔区间的量化方式。如果用bbit表示像素的亮度值,那么亮度级别是k=2b。通常采用每个像素每个通道8bit的表示方式,也有一些系统使用其他表示方式,如16bit。对于数字图像,每个像素的亮度值在计算机中的有效表示一般需要8bit、4bit或1bit,即计算机存储的每字节相应地可以存储1、2、8个像素的亮度值。
当量化级别不够时,图像会出现伪轮廓(False Contours)问题。当亮度级别小于人眼能够分辨的量化级别时,也会出现伪轮廓问题。量化级别与许多因素有关,如平均的局部亮度值,通常在显示时需要最少100级才能避免出现伪轮廓问题。伪轮廓问题可以通过非等间隔的量化策略来解决,具体的方法是对图像中较少出现的亮度值用比较大的量化间隔。
2.2.3 数字图像表示
根据2.2.2节的内容,通过采样和量化可以把连续图像函数转换为数字图像。假设我们把一个连续图像采样为一个二维矩阵I(x,y),该矩阵包含M行和N列,其中,(x,y) 是二维离散坐标。我们对这些离散坐标使用整数值,即x=0,1,2,⋯,M-1 和y=0,1,2,⋯,N-1。这样,数字图像在原点处的值是I(0,0),第1行中下一个坐标处的值是I(0,1)。这里,符号(0,1) 表示第1行的第2个样本,它并不意味着对图像采样时的物理坐标值。通常,图像在任何坐标(x,y) 处的值记为I(x,y),其中,x和y都是整数。由一幅图像的坐标构成的实平面部分称为空间域,x和y称为空间变量或空间坐标。
通常表示图像的方法有3种,如图2-7所示。
图2-7 表示图像的3种方法
第1种方法是函数图表示,如图2-7(a)所示,用两个坐标轴x、y决定空间位置,第3个坐标轴是灰度值I(x,y)。通常,复杂图像的细节太多,用函数图很难解释图像的结构。但是,当用三维坐标(x,y,I) 的形式表示灰度值时,这种表示是很有用的。
第2种方法是图像直接表示,如图2-7(b)所示。它显示了I(x,y) 出现在显示器或图片上的情况。该情况下每个点的灰度值与该点处的I(x,y) 的值成正比。图2-7(b)中仅有3个等间隔的灰度值。如果灰度值被归一化到区间[0,1],那么图2-7(b)中每个点的灰度值都只有0、0.5、1三种情况。
第3种方法是矩阵表示,即将I(x,y) 的值简单地显示为一个矩阵,如图2-7(c)所示。在这个例子中,矩阵I(x,y) 的大小为600×600,即360000个数字。打印整个矩阵是很麻烦的,且传达的信息并不直观,但是,在算法开发中对图像进行分析处理时用矩阵表示很有用。
以上3种表示方法的原点都位于左上角,其中,正x轴向下延伸,正y轴向右延伸。这种表示主要基于图像显示的方式,即大多数图像显示都从左上角开始,然后一次向下移动一行。更重要的是,矩阵的第1个元素按惯例应该在阵列的左上角,因此,原点选择在左上角在数学上是讲得通的。这种表示也是基于标准的右手笛卡儿坐标系的。
在这3种表示方法中,后两种是最有用的。图像显示有利于快速观察结果,数值矩阵有利于处理分析和算法开发。将一个M×N的数值矩阵表示为
(2-5)
式(2-5)的两边以等效的方式定量地表达了一幅数字图像。右边是一个实数矩阵,该矩阵中的每个元素I(i,j) 为像素。在某些情况下,使用传统的矩阵表示法来表示数字图像及其像素更为方便,即
(2-6)
式中,显然有ai,j=I(x=i,y=j)=I(i,j),因此,式(2-5)和式(2-6)是相同的矩阵。