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 邻接 的,即:
q ∈ N 4 ( p ) 且 f ( p ) , f ( q ) ∈ V 其 中 f ( p ) 代 表 像 素 p 的 灰 度 值 q \in N_4(p) \quad 且 \quad f(p), f(q) \in V \\ 其中 \, f(p) \, 代表像素 \, p \, 的灰度值 q∈N4(p)且f(p),f(q)∈V其中f(p)代表像素p的灰度值
- 8 邻接:如果 q 在 N8( p ) 集中,则具有 V 中数值的两个像素 p 和 q 是 8 邻接的,即:
q ∈ N 8 ( p ) 且 f ( p ) , f ( q ) ∈ V 其 中 f ( p ) 代 表 像 素 p 的 灰 度 值 q \in N_8(p) \quad 且 \quad f(p), f(q) \in V \\ 其中 \, f(p) \, 代表像素 \, p \, 的灰度值 q∈N8(p)且f(p),f(q)∈V其中f(p)代表像素p的灰度值
- m 邻接(混合邻接):有两种情况
- q 在 N4( p ) 中,
- q 在 ND( p ) 中且集合 N4( p ) ∩ N4(q) 中没有 V 值的像素,
则具有 V 中数值的两个像素 p 和 q 是 m 邻接的。
q ∈ N 4 ( p ) 且 f ( p ) , f ( q ) ∈ V 其 中 f ( p ) 代 表 像 素 p 的 灰 度 值 q \in N_4(p) \quad 且 \quad f(p), f(q) \in V \\ 其中 \, f(p) \, 代表像素 \, p \, 的灰度值 q∈N4(p)且f(p),f(q)∈V其中f(p)代表像素p的灰度值
或者
q ∈ N D ( p ) 且 { x ∣ x ∈ N 4 ( p ) 且 x ∈ N 4 ( q ) } ∉ V 且 f ( p ) , f ( q ) ∈ V 其 中 f ( p ) 代 表 像 素 p 的 灰 度 值 q \in N_D(p) \quad 且 \quad \{x | x \in N_4(p) \\ 且 \,x \in N_4(q) \} \notin V \quad 且 \quad f(p), f(q) \in V \\ 其中 \, f(p) \, 代表像素 \, p \, 的灰度值 q∈ND(p)且{x∣x∈N4(p)且x∈N4(q)}∈/V且f(p),f(q)∈V其中f(p)代表像素p的灰度值
例题:在下图中,设 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,
对 于 a 像 素 点 : f ( a ) ∉ V , 故 a 不 是 p 的 m 邻 接 点 ; 对 于 c 像 素 点 : N 4 ( p ) ∩ N 4 ( c ) = { b , e } , 其 中 b ∈ V , 故 c 不 是 p 的 m 邻 接 点 ; 对 于 f 像 素 点 : N 4 ( p ) ∩ N 4 ( f ) = { d , g } , 其 中 d ∈ V , 故 f 不 是 p 的 m 邻 接 点 ; 对 于 h 像 素 点 : N 4 ( p ) ∩ N 4 ( h ) = { e , g } , 其 中 e , g ∉ V , 故 h 是 p 的 m 邻 接 点 。 对于 a 像素点:f(a) \notin V,故 a 不是 p 的 m 邻接点;\\ 对于 c 像素点:N_4(p) \cap N_4(c) = \{b, e\},其中 b \in V,故 c 不是 p 的 m 邻接点;\\ 对于 f 像素点:N_4(p) \cap N_4(f) = \{d, g\},其中 d \in V,故 f 不是 p 的 m 邻接点;\\ 对于 h 像素点:N_4(p) \cap N_4(h) = \{e, g\},其中 e, g \notin V,故 h 是 p 的 m 邻接点。 对于a像素点:f(a)∈/V,故a不是p的m邻接点;对于c像素点:N4(p)∩N4(c)={b,e},其中b∈V,故c不是p的m邻接点;对于f像素点:N4(p)∩N4(f)={d,g},其中d∈V,故f不是p的m邻接点;对于h像素点:N4(p)∩N4(h)={e,g},其中e,g∈/V,故h是p的m邻接点。
故 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 的 通路(或曲线) 是特定的像素序列,其坐标为:
( x 0 , y 0 ) , ( x 1 , y 1 ) , ⋯ , ( x n , y n ) (x_0, y_0), (x_1, y_1), \cdots , (x_n, y_n) (x0,y0),(x1,y1),⋯,(xn,yn)
其中 (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 间的 欧几里得(欧式)距离 定义如下:
D e ( p , q ) = [ ( x − s ) 2 + ( y − t ) 2 ] 1 2 D_e(p, q) = [(x - s)^2 + (y - t)^2]^\frac{1}{2} De(p,q)=[(x−s)2+(y−t)2]21
对于距离度量,距点 (x, y) 的距离小于等于某个值 r 的像素,是中心在 (x, y) 且半径为 r 的 圆平面。
D4距离 又叫城市街区距离(曼哈顿距离)
p 和 q 间的距离 D4 (又称为城市街区距离)由下式定义:
D 4 ( p , q ) = ∣ x − s ∣ + ∣ y − t ∣ D_4(p, q) = \mid x - s \mid + \mid y - t \mid D4(p,q)=∣x−s∣+∣y−t∣
此情况下,距 (x, y) 的距离 D4 小于等于某个值 r 的像素形成一个中心在 (x, y) 的 菱形。
如图,距中心点 (x, y) 的距离 D4 小于等于 2 的像素,形成固定距离的菱形轮廓。其中 D4 = 1 的像素是 (x, y) 的 4 邻域。
D8距离 又叫棋盘距离(切比雪夫距离)
由下式定义:
D 8 ( p , q ) = m a x ( ∣ x − s ∣ , ∣ y − t ∣ ) D_8(p, q) = max(\mid x - s \mid, \mid y - t \mid) D8(p,q)=max(∣x−s∣,∣y−t∣)
此情况下,距 (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