2.5 像素间的一些基本关系
2.5.1 相邻像素
- 对于坐标 (x, y) 的一个像素 p 有 4 个水平和垂直的相邻像素,
分别为:(x+1, y), (x-1, y), (x, y+1), (x, y-1),这个像素集称为 p 的 4 邻域,记为 N4( p )。 - p 的 4 个对角邻像素
分别为:(x+1, y+1), (x-1, y-1), (x-1, y+1), (x+1, y-1),称为 p 的 D 邻域,记为 ND( p )。 - 4 邻域 和 D 邻域 合在一起称为 p 的 8 邻域,记为 N8( p )。
注意:如果 (x, y) 位于图像的边界上,则 N4( p ),ND( p ) 和 N8( p ) 中的某些像素点会落在图像的外边。
2.5.2 邻接性、连通性、区域和边界
2.5.2.1 邻接性
令 V 是用于定义邻接性的灰度值集合,V 中可能定义了很多灰度值,例如,在灰度值范围为 0 到 255 的邻接像素中,集合 V 可能是这 256 个值的任何一个子集。考虑三种类型的邻接:
- 4 邻接:如果 q 在 N4( p ) 集中,具有 V 中数值的两个像素 p 和 q 是 4 邻接 的,即:
- 8 邻接:如果 q 在 N8( p ) 集中,则具有 V 中数值的两个像素 p 和 q 是 8 邻接的,即:
- m 邻接(混合邻接):有两种情况
- q 在 N4( p ) 中,
- q 在 ND( p ) 中且集合 N4( p ) ∩ N4(q) 中没有 V 值的像素,
则具有 V 中数值的两个像素 p 和 q 是 m 邻接的。
或者
例题:在下图中,设 V = {1},点 p 和哪些点是 4 邻接的?和哪些点是 8 邻接的?和哪些点是 m 邻接的?
分析:
首先,无论 4 邻接还是 8 邻接或者 m 邻接都要满足中心像素点 p 的灰度值也在集合 V 中,即如果 中心像素点 p 的灰度值没有包含在集合 V 中,则 p 既没有 4 邻接点,也没有 8 邻接点,更没有 m 邻接点。在本例题中,p 处的像素值为 1,包含在 V 之内。
4 邻接:然后分析 4 邻接。p 像素点的 4 邻域包括像素点 b,d,e,g,在这四个像素点中,像素值包含在 V 中的只有 b,d 两个像素点,所以 p 像素点和 b,d 像素点是 4 邻接的。
8 邻接:再分析 8 邻接。p 像素点的 8 邻域包括像素点 a,b,c,d,e,f,g,h,其中像素值包含在 V 中的像素点有 b,c,d,f,h,所以像素点 p 和像素点 b,c,d,f,h 是 8 邻接的。
m 邻接:再分析 m 邻接。先看第一种情况,p 像素点的 4 邻域包括像素点 b,d,e,g,其中像素值包含在 V 中的像素点有 b,d;再看第二种情况,p 像素点的 D 邻域包括像素点 a,c,f,h,
故 p 像素点的 m 邻接点有 b、d、h。
故:4 邻接点一定是 8 邻接点,也一定是 m 邻接点。
混合邻接是 8 邻接的改进。混合邻接的引入是为了消除 8 邻接常常发生的二义性。
考虑上图中图 1 中对于 V={1} 的像素排列。位于图 2 中上部的 3 个像素显示了多重(二义性)8 邻接,图中的虚线是满足 8 邻接的邻接点对,图 3 显示了采用 m 邻接之后的像素排列,可以看到,像素点 c 和像素点 b 无法通过 m 邻接直接连通,只能通过像素点 c 和像素点 a 的 m 邻接连通之后,再通过像素点 a 和像素点 b 的 m 邻接连通后最终连通。从而消除了在 8 邻接中,像素点 c 和像素点 b 有多条连通通路的二义性。注意,m 邻接只能消除相邻像素点之间有关 D 邻域的连通二义性。
2.5.2.2 连通性
通路的概念
从具有坐标 (x, y) 的像素 p 到具有坐标 (s, t) 的像素 q 的 通路(或曲线) 是特定的像素序列,其坐标为:
其中 (x0, y0) = (x, y),(xn, yn) = (s, t),且像素 (xi, yi) 和 (xi-1, yi-1) 对于 1<=i<=n 是邻接的。在这种情况下,n 是通路的长度(经过的序列距离)。如果 (x0, y0) = (xn, yn),则通路为 闭合通路。注意:通路长度为 n,是指通路经过的距离,即经过的点的数量(不包含起始点)。
同时,通路上相邻的(任意)两个像素点应该是满足某种邻接性的。可以依据特定的邻接类型定义 4 邻接、8 邻接或 m 邻接。例如图 2 中,像素点 b 和像素点 d 之间的通路是 8 通路。图 3 中,像素点 b 和像素点 d 之间的通路是 m 通路。
令 S 是图像中的一个像素子集。如果在 S 中,p 和 q 之间存在一个全部由 S 中的元素组成的通路,则可以说两个像素 p 和 q 在 S 中是 连通 的。对于 S 中的任何像素 p,S 中连通到该像素的像素集叫做 S 的 连通分量。如果 S 仅有一个连通分量,则集合 S 叫做 连通集。
令 R 是图像中的一个像素子集。如果 R 是连通集,则称 R 为一个区域。两个区域,如果它们联合形成一个连通集,则区域 Ri 和 Rj 称为 邻接区域,不邻接的区域称为 不连接区域。一个区域 R 的边界(也称为边缘或轮廓)是区域中像素的集合,该区域有一个或多个不在 R 中的邻点。
假设一幅图像包含有 K 个不连接的区域,即 Rk,k = 1, 2, ··· , K ,且它们都不接触图像的边界。令 Ru 代表所有 K 个区域的并集,并且令 (Ru)c 代表其补集(集合 S 的补集是不在 S 中的点的集合)。我们称 Ru 中的所有点为图像的 前景,而称 (Ru)c 中的所有点为图像的 背景。
2.5.3 距离度量
对于像素 p,q和z,其坐标分别为 (x, y),(s, t)和(v, w),如果:
- D(p, q) >= 0 ( D(p, q) = 0 if p=q )
- D(p, q) = D(q, p)
- D(p, z) <= D(p, q) + D(q, z)
则 D 是距离函数或度量。
欧几里得(欧式)距离
p 和 q 间的 欧几里得(欧式)距离 定义如下:
对于距离度量,距点 (x, y) 的距离小于等于某个值 r 的像素,是中心在 (x, y) 且半径为 r 的 圆平面。
D4距离 又叫城市街区距离(曼哈顿距离)
p 和 q 间的距离 D4 (又称为城市街区距离)由下式定义:
此情况下,距 (x, y) 的距离 D4 小于等于某个值 r 的像素形成一个中心在 (x, y) 的 菱形。
如图,距中心点 (x, y) 的距离 D4 小于等于 2 的像素,形成固定距离的菱形轮廓。其中 D4 = 1 的像素是 (x, y) 的 4 邻域。
D8距离 又叫棋盘距离(切比雪夫距离)
由下式定义:
此情况下,距 (x, y) 的 D8 距离小于等于某个值 r 的像素形成中心在 (x, y) 的 方形。例如,距中心点 (x, y) 的 D8 距离小于等于 2 的像素形成下列固定距离的轮廓:
其中 D8 = 1 的像素是 (x, y) 的 8 邻域。
Dm距离
p 和 q 间的距离 Dm 定义为 最短 m 通路的长度。注意,p 和 q 之间的 D4 距离和 D8 距离与任何通路无关。
例题
如下图所示,对于 V={1},求像素点 p 和像素点 q 的城市街区距离、棋盘距离和 Dm 距离。
由于 D4 距离和 D8 距离与任何通路无关,所以:
D4(p, q) = |x - s| + |y - t| = 2 + 3 = 5
D8(p, q) = max(|x - s|, |y - t|) = max(2, 3) = 3
求 Dm 距离首先要找到像素点 p 和像素点 q 之间的一条 m 通路,如图中虚线所示:
Dm(p, q) = 4