2.4 像素间联系
实际图像中的像素在空间是按某种规律排列的,互相之间有一定的联系。要对图像进行有效的处理和分析,必须考虑像素之间的联系。
2.4.1 像素邻域
讨论像素之间的关系,首先要讨论由每个像素的近邻像素组成的邻域。对1个坐标为(x, y)的像素p,它可以有4个水平和垂直的近邻像素,它们的坐标分别是(x+1, y),(x–1, y),(x, y+1),(x, y–1)。如图2.4.1(a)所示,这些像素(均用r表示)组成p的4-邻域,记为N4(p)。
图2.4.1 像素的邻域
像素p的4个对角近邻像素(用s表示)的坐标是(x+1, y+1),(x+1, y–1),(x–1, y+1),(x–1,y–1)。它们记为ND(p),如图2.4.1(b)所示。像素p的4个4-邻域近邻像素加上4个对角邻域像素合起来构成p的8-邻域,记为N8(p),如图2.4.1(c)中的r和s所示。
对两个像素p和q来说,如果q在p的邻域中(可以是4-邻域,8-邻域或对角邻域),则称p和q满足邻接关系(且可分别对应4-邻接,8-邻接或对角邻接)。如果p和q是邻接的,且它们的灰度值均满足某个特定的相似准则(对灰度图像,它们的灰度值应相等,或更一般地同在一个灰度值集合V中取值),则称p和q满足连接关系。可见连接比邻接要求更高,不仅要考虑空间关系,还要考虑灰度关系。如果两个像素是4-邻接的,则在它们的灰度值均满足某个特定的相似准则时,称这两个像素是4-连接的。如果两个像素是8-邻接的,则在它们的灰度值均满足某个特定的相似准则时,称这两个像素是8-连接的。
如果像素p和q不(直接)邻接,但它们均在另一个像素的相同邻域中(可以是4-邻域,8-邻域或对角邻域),且这三个像素的灰度值均满足某个特定的相似准则(如它们的灰度值相等或同在一个灰度值集合中取值),则称p和q之间的关系为连通(可以是4-连通或8-连通)。两个像素由于都与另一个像素连接而连通,所以从这个意义上讲,连通是连接的推广。进一步,只要两个像素p和q间有一系列连接的像素,则p和q是连通的。这一系列连接的像素构成像素p和q间的通路。从具有坐标(x, y)的像素p到具有坐标(s, t)的像素q的一条通路由一系列具有坐标(x0, y0),(x1, y1),…,(xn, yn)的独立像素组成。这里(x0, y0)=(x, y),(xn, yn)=(s, t),且(xi, yi)与(xi-1, yi-1)邻接,其中1≤i≤n,n为通路长度。
一幅图像中的某些像素结合组成图像的子集合。对两个图像子集S和T来说,如果S中的一个或一些像素与T中的一个或一些像素邻接,则可以说两个图像子集S和T是邻接的。这里根据所采用的像素邻接定义,可以定义或得到不同的邻接图像子集。如可以说两个图像子集4-邻接,两个8-邻接的图像子集等。
类似于像素的连接,对两个图像子集S和T来说,要确定它们是否连接也需要考虑两点:①它们是否是邻接图像子集;②它们中邻接像素的灰度值是否满足某个特定的相似准则。换句话说,如果S中的一个或一些像素与T中的一个或一些像素连接,则可以说两个图像子集S和T是连接的。
设p和q是一个图像子集S中的两个像素,如果存在一条完全由在S中的像素组成的从p到q的通路,那么就称p在S中与q相连通。对S中任一个像素p,所有与p相连通且又在S中的像素的集合(包括p)合起来称为S中的一个连通组元(组元中任2点可通过完全在组元内的像素相连接)。一般图像中的每个目标都是一个连通组元。如果S中只有一个连通组元,即S中所有像素都互相连通,则称S是一个连通集。如果一幅图像中所有的像素分属于几个连通集,则可以说这几个连通集分别是该幅图像的连通组元。两个互不邻接但都与同一个图像子集邻接的图像子集是互相连通的。图像里同一个连通集中的任意两个像素互相连通,而分属不同连通集中的像素互不连通。在极端的情况下,一幅图像中所有的像素都互相连通,则该幅图像本身就是一个连通集。
2.4.2 像素间距离
描述像素之间联系的一个重要概念是像素之间的距离。给定3个像素p、q、r,坐标分别为(x,y)、(s, t)、(u, v),如果下列条件满足的话,称函数D是距离量度函数。
(1)D(p, q)≥0 (D(p,q)=0当且仅当p=q)。
(2)D(p,q)=D(q,p)。
(3)D(p,r)≤D(p,q)+D(q,r)。
上述3个条件中,第1个条件表明两个像素之间的距离总是正的(两个像素空间位置相同时,其间的距离为零);第2个条件表明两个像素之间的距离与起终点的选择无关;第3个条件表明两个像素之间的最短距离是沿直线的。
在数字图像中,距离有不同的量度方法。点p和q之间的欧氏距离(也是范数为2的距离)定义为
根据这个距离量度,与(x, y)的距离小于或等于某个值d的像素都包括在以(x, y)为中心、以d为半径的圆中。
点p和q之间的D4距离(即范数为1的距离)也称为城区距离,定义为
根据这个距离量度,与(x, y)的D4距离小于或等于某个值d的像素组成以(x, y)为中心的菱形。
点p和q之间的D8距离(即范数为∞的距离)也称为棋盘距离,定义为
根据这个距离量度,与(x, y)的D8距离小于或等于某个值d的像素组成以(x, y)为中心的正方形。
例2.4.1 等距离圆盘
使用不同的距离测度,可得到由不同的等距离轮廓结合而成的等距离圆盘。例如,与(x, y)的DE距离小于或等于3的像素组成图2.4.2(a)所示的近似圆盘区域(图中距离值已四舍五入);与(x, y)的D4距离小于或等于3的像素组成图2.4.2(b)所示的区域(D4=1的像素就是(x, y)的4-近邻像素);与(x, y)的D8距离小于或等于3的像素组成图2.4.2(c)所示的区域(D8=1的像素就是(x, y)的8-近邻像素)。
图2.4.2 等距离圆盘示例
如果以Δi(R)代表等距离圆盘(i=4, 8),其中所包含的像素个数是随距离成比例增加的。如果不考虑中心像素,则城区距离圆盘中的像素个数为
例如,#[Δ4(5)]=60,#[Δ4(6)]=84。而棋盘距离圆盘中的像素个数为
例如,#[Δ8(3)]=48,#[Δ8(4)]=80。另外,棋盘距离圆盘实际上是一个正方形,所以也可用下式计算棋盘距离圆盘中除中心像素外所包含的像素个数:
例2.4.2 距离计算示例
对图像中两个像素的距离计算只考虑它们各自的位置而不考虑它们的灰度值。根据上述三种距离定义计算图像中相同两个像素间的距离时会得到不同的数值。如在图2.4.3中,两个像素p和q之间的DE距离为5(见图2.4.3(a)),D4距离为7(见图2.4.3(b)),D8距离为4(见图2.4.3(c))。
图2.4.3 像素间距离的计算
由上可见,欧氏距离给出的结果相对准确,但由于计算时需要进行平方和开方运算,计算量大。城区距离和棋盘距离均为非欧氏距离,计算量小,但与欧氏距离都有一定的误差。这种误差也可从图2.4.2中看出,图2.4.2(b)和图2.4.2(c)中的等距离圆盘不够圆就是误差造成的。
利用像素间的距离概念也可定义像素的邻域。例如,D4=1的像素就是(x, y)的4-邻域像素。换句话说,像素p的4-邻域也可定义为
D8=1的像素就是(x, y)的8-邻域像素。这样,像素p的8-邻域也可定义为