分水岭分割算法
建立不同目标间的分水岭(涨水法)。


分水岭计算步骤:
1、设待分割图象为f(x,y),其梯度图象为g(x,y)
2、用M1, M2, …, MR表示g(x, y)中各局部极小值的象素,位置,C(Mi)为与Mi对应的区域中的象素坐标集合
3、用n表示当前灰度阈值,T[n]代表记为(u,v)的象素集合,g(u,v)<n,
4、对Mi所在的区域,其中满足条件的坐标集合Cn(Mi)可看作一幅二值图象
令 S 代表T[n]中的连通组元集合,对每个连通组元 ,s∈S[n],有3种可能性:
(1) S ∩ C[ 1]是1个空集
(2) s ∩ C[n – 1]里包含C[n – 1]中的一个连通组元
(3) s ∩ C[n – 1]里包含C[n – 1]中一个以上的连通组元
分别处理:
(1) C[n]可由把连通组元 s 加到C[n – 1]中得到
(2) C[n]可由把连通组元 s 加到C[n – 1]中得到
(3) 需要在 s 中建分水岭

算法改进与扩展:
1、利用标号控制分割,防止过分割,或者由于纹理等原因造成分割过细。
2、强制最小值技术
3、基于彩色图片的分水岭分割。
分水岭算法对于颗粒状物体有良好的分割效果。
容易产生gu
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步