分水岭分割

目录

基本思想

基于拓扑理论的数学形态学的分割算法,基本思想是把图像看作是地形地貌,图像中每一点的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域成为集水盆,集水盆的边界则形成分水岭。

模拟过程

在每一个局部极小值表面,刺穿一个小孔,然后慢慢把整个模型浸入水中,随着浸入的加深,每一个局部极小值的影响区域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成了分水岭。

计算过程

分水岭计算是一个迭代标注的过程。比较经典的计算方法是L.Vincent提出的。
在该算法中,分水岭计算分为两个步骤,一个是排序过程,一个是淹没过程:
1. 首先对每个像素的灰度级进行从低到高的排序,然后在从低到高实现淹没过程中,对每一个局部极小值在h阶高度的影像域采用先进先出(FIFO)结构进行判断及标注。
为了保留图像的边缘信息,通常把梯度图像作为输入图像计算分水岭:
g(x,y)=grad(f(x,y))={[f(x,y)-f(x-1,y)]2[f(x,y)-f(x,y-1)]2}0.5
式中,f(x,y)表示原始图像,grad{.}表示梯度运算。 分水岭算法对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化,都会产生过度分割的现象。但同时应当看出,分水岭算法对微弱边缘具有良好的响应,是得到封闭连续边缘的保证的。另外,分水岭算法所得到的封闭的集水盆,为分析图像的区域特征提供了可能。
2. 为消除分水岭算法产生的过度分割,通常可以采用两种处理方法,一是利用先验知识去除无关边缘信息。二是修改梯度函数使得集水盆只响应想要探测的目标。 为降低分水岭算法产生的过度分割,通常要对梯度函数进行修改,一个简单的方法是对梯度图像进行阈值处理,以消除灰度的微小变化产生的过度分割。
即 g(x,y)=max(grad(f(x,y)),gθ) 式中,gθ表示阈值。
程序可采用方法:用阈值限制梯度图像以达到消除灰度值的微小变化产生的过度分割,获得适量的区域,再对这些区域的边缘点的灰度级进行从低到高排序,然后在从低到高实现淹没的过程,梯度图像用Sobel算子计算获得。对梯度图像进行阈值处理时,选取合适的阈值对最终分割的图像有很大影响,因此阈值的选取是图像分割效果好坏的一个关键。缺点:实际图像中可能含有微弱的边缘,灰度变化的数值差别不是特别明显,选取阈值过大可能会消去这些微弱边缘。

发布了9 篇原创文章 · 获赞 5 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览