分水岭算法的原理、改进及matlab实现

分水岭算法的原理、改进及matlab实现_第1张图片
数学形态学以图像的形态特征为研究对象,用具有一定形态的结构元素描述图像中元素与元素、部分与部分之间的关系,以达到对图像分析和识别的目的。数学形态学用于基于区域的图像分割最典型的例子就是分水岭(Watershed)方法。
分水岭算法(Watershed)基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭。
分水岭算法对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化,都会产生过度分割的现象。figure2就是直接对梯度图进行分水岭算法的结果,产生了严重的过分割。

为消除分水岭算法产生的过度分割,通常对梯度图片进行预处理。frgure4就是先对梯度图进行了形态学的开闭运算在使用分水岭算法。
还有一些学者对梯度图片在结合形态学开闭运算的特点,对原始图像进行形态开闭预重建,在计算形态梯度之后采用开闭后重建,对梯度进行给定的阈值变换,引入给定尺度等级的非线性分类,在像素连通关系的基础上,研究了一种改进的分水岭标记算法进行分割,取得了较好的图像分割效果。
分水岭算法的原理、改进及matlab实现_第2张图片
参考论文:一种基于分水岭变换的图像分割方案_杨文明

MATLAB实现分水岭算法如下(直接对梯度使用分水岭算法和经过开闭运算相对比)
%1.读取

你可能感兴趣的:(图像处理)