数字图像处理---二值图像处理
二值图像处理
二值图像的连接性和距离
邻域与邻接
对于任意像素(i,j),(p,q)是一对适当的整数,则把像素的几何{(i+p,j+q)}叫做像素(i,j)的邻域
最常采用的是4-邻域和8-邻域
像素的连接
对于图像中具有相同值的两个像素A和B,如果所有和A、B具有相同值的像素序列
\[p_0(=A),p_1,p_2,...,p_{n-1},p_n(=B)
\]
存在,并且\(p_{i-1}\)和\(p_i\)互为4-邻接或8-邻接,那么像素和叫做4-连接或8-连接,以上的像素序列叫4-路径或8-路径
连接成分
将图像中,把相互连接的像素集合汇集为一组,于是具有若干个0值的像素和具有若干个1值的像素的组就产生,这些组叫做连接成分,也称作连通成分
一幅图像的0或1像素连接方式不能相同,采用互反的连接方式
在0像素的连接成分中,如果存在和图像外围的1行或1列的0像素不相连接的成分,则称为孔
不包含孔的1像素连接成分称为单连接成分,含有孔的1像素连接成分称为多重连接成分
欧拉数
\[E= C-H(连接成分数-孔数)
\]
图像的欧拉数是图像的拓扑特性之一,表明了图像的连通性
像素的可删除性和连接数
二值图像上改变一个像素的值后,整个图像的连接性不改变,则这个像素可删除
- 连接数计算公式
\[\begin{matrix}
4邻接 & N_c^{(4)}(p) = \sum_{k \in s} [B(p_k)-B(p_k)B(p_{k+1})B(p_{k+2})] \\
8邻接 & N_c^{(8)}(p) = \sum_{k \in s} [\overline{B}(p_k)-\overline{B}(p_k)\overline{B}(p_{k+1})\overline{B}(p_{k+2})]
\end{matrix}
\]
\[\begin{matrix}
B(p) \in {0,1} & \overline{B}(p) = 1 -B(p) \\
S \in {0,2,4,6} & 当k+2 =8 时 P8 = P0
\end{matrix}
\]
\[\begin{bmatrix}
p_3 & p_2 & p_1 \\
p_4 & p & p_0 \\
p_5 & p_6 & p_7
\end{bmatrix}
\]
3*3邻域像素连接数总共存在51种异构体类型
像素距离
计算点(i,j)和(h,k)距离的三种方法
- 欧氏距离\[d_e[(i,j),(h,k)]=\sqrt{(i-h)^2+(j-k)^2} \]
- 4邻域距离,街区距离\[d_s[(i,j),(h,k)]=|i-h|+|j-k| \]
- 8领域距离,棋盘距离\[d_g[(i,j),(h,k)]=max(|i-h|+|j-k|) \]
膨胀与腐蚀
腐蚀
- 基本概念:腐蚀是一种消除连通域的边界点,使边界点向内收缩的处理
- 设计思想:通过结构元素定位目标像素,判断是否覆盖,以确定是否腐蚀
- 算法步骤
- 扫描原图,找到第一个像素值为1的点
- 将预设的结构元素的原点移至该点
- 判断结构元素所覆盖的像素值是否全为1,是则在目标点像素值赋1,反之赋值0
- 重复上述流程直至处理所有像素
- 应用:将粘连在一起的不同目标物分离,并去除小的颗粒噪声
膨胀
- 基本概念:将目标区域的背景点合并到该目标物中,使目标物边界向外部扩张的处理
- 设计思想:通过结构元素定位背景像素,判断是否覆盖,以确定目标点是否膨胀
- 算法步骤
- 扫描原图,找到第一个像素值为0的点
- 将预设的结构元素的原点移至该点
- 判断结构元素所覆盖的像素值是否存在1,是则在目标点像素值赋1,反之赋值0
- 重复上述流程直至处理所有像素
- 应用:将断裂开的目标物进行合并,便于对其整体的提取
膨胀与腐蚀都存在改变目标物大小的确定
通过将膨胀与腐蚀运算同时进行以解决问题,以此构成开运算和闭运算
开运算
- 算法原理:先进行腐蚀再进行膨胀
- 开运算可以在分离粘连目标物的同时,基本保持原目标物的大小
- 变形:先进行N次腐蚀,再进行N次膨胀
闭运算
- 算法原理:先进行膨胀再进行腐蚀
- 闭运算可以在合并断裂目标物的同时,基本保持原目标物的大小
- 先进行N次膨胀再进行N次腐蚀