DynamicX 视觉组学习笔记 - 基于分水岭算法的图像分割
· 15 min read
在学习分水岭算法的时候我思考比较多的一个问题是为什么要用分水岭算法,就此次使用的示例图片来说,简单的色彩分割就可以得到所有向日葵花。但是简单的色彩分割达不到“识别出图片中较大的向日葵并标记”这种要求,色彩分割后的向日葵边缘是很清晰的,但是去除图片中较小的向日葵就会影响到目标向日葵的边缘,不去除较小向日葵就无法仅获得较大向日葵的边缘信息。分水岭算法在一定程度上解决了这个矛盾,在这里我们给出原图和边缘所在的大致范围,分水岭算法就可以得出较清晰的边缘。在实际操作中我花费最长时间解决的问题是最大的两个向日葵无法得到正确的边缘,原因是没 有标记已知背景导致分水岭算法将背景和向日葵分到了同一个区域,不知为什么网络上的一些例程没有标记背景。
理论基础
图像形态学
来源 数学形态学是以形态结构元素为基础对图像进行分析的数学工具。它的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持它们基本的形状特征,并除去不相干的结构。数学形态学的基本运算有 4 个:膨胀、腐蚀、开启和闭合。它们在二值图像中和灰度图像中各有特点。基于这些基本运算还可以推导和组合成各种数学形态学实用算法。 在这里我仅用到了二值形态运算,基本的形态运算是腐蚀和膨胀,用 B(x)代表结构元素,对工作空间 E 中的每一点 x,腐蚀和膨胀的定义为:
- 用 B(x)对 E 进行腐蚀的结果就是把结构元素 B 平移后使 B 包含于 E 的所有点构成的集合。
- 用 B(x)对 E 进行膨胀的结果就是把结构元素 B 平移后使 B 与 E 的交集非空的点构成的集合。