石鑫华视觉论坛微信公众号:石鑫华视觉

 找回密码
 注册会员
查看: 1872|回复: 0

[原创] NI Vision Assistant视觉助手图像处理教程 第7章 图像处理-Grayscale灰度 7.7 WatershedSegmentation分水岭分

[复制链接]
  • TA的每日心情
    难过
    8 小时前
  • 签到天数: 3182 天

    连续签到: 52 天

    [LV.Master]2000FPS

    发表于 2020-3-12 15:05:57 | 显示全部楼层 |阅读模式 来自:广东省东莞市 联通
    NI Vision Assistant视觉助手图像处理教程 第7章 图像处理-Grayscale灰度 7.7 WatershedSegmentation分水岭分割

    NI Vision Assistant视觉助手教程


    第七章 图像处理-Grayscale灰度


    第七节 WatershedSegmentation分水岭分割
    首先我们了解一下形态学分割。在一些图像处理和机器视觉应用-如工业缺陷检测和医学图像-基于阈值和边缘检测的分割是不够的,因为图像的质量比较差或者检测目标有接触或重叠。在这样的应用中,形态学分割是一种比较有效的图像分割方法。形态学分割是基于图像的地形面(等高线)分开一幅图像的。图像分割成没有重叠的区域,每个区域包含一个独立的粒子。
    什么时候使用形态学分割
    阈值可以分割从背景中分割目标仅当目标比较好分开时,目标和背景需要有比较大的对比度。二值形态学操作,如闭、开等,经常返回不准确的结果当分割重叠的粒子时。
    使用形态学分割来分开背景上彼此连接或重叠的目标。同时,也可以使用形态学分割当目标与背景拥有相似的强度时,即对比度比较低的时候。
    需要注意的是,形态学分割处理最好是针对凸的目标进行,对于凹的对象,不太适合形态学分割。
    形态学分割概念
    形态学分割是一个多步骤的过程,涉及多个NI视觉函数。下面列表描述了每个形态学分割步骤以及在哪里可以找到这些步骤函数。
    1.      使用全局或局部阈值创建一幅二值图像。
    2.      如果有必要,可以使用二值形态学操作来提高图像质量,如填洞、滤除小点等操作。
    3.      使用Danielsson函数将二值图像转换为灰度距离映射图,每个粒子像素被赋予一个等于像素到粒子边界的最短欧氏距离的灰度值。
    4.      在距离映射图上执行分水岭变换以找到分水岭分割线。
    5.      使用图像掩模在原始图像上添加分水岭分割线。
    下图总结了形态学分割的过程并逐步演示了其中的步骤:
    [attach]7456[/attach]
    图1 形态学分割步骤
    分水岭变换
    在地理学上,分水岭是指分隔相邻两个水域的山岭或高地,河水从这里流向两个相反的方向。在图像上,分水岭变换算法考虑了被检查对象的水域。下面的图像说明了这个概念:
    [attach]7459[/attach]
    图2 分水岭概念
    图A显示了一个阈值后的检测图像。图B在图像上使用灰度调色板显示了目标的距离映射图。图C显示了地图表面的距离映射图。检测图像上的每个目标以深的、圆锥型的形式形成集水盆。距离映射函数分配的像素最高值代表每个集水盆的最深处。图像背景代表了集水盆周围的陆地。
    为了了解分水岭变换是如何工作的,想象集水盆是干枯的。如果雨水均匀的降在图像上,集水盆的填补速度是相同的。最终,在圆形盆地和方形盆地中的水会合并,形态一个湖。为了防止两个湖泊变成一个,当水开始混合时,分水岭变换算法会构建一个大坝,或分水岭线。
    下图3中的A图显示了相同的距离映射,同时使用一条直线穿过两个目标的底部以当作图B的剖面线。图B显示了沿着图A中的黄色剖面线的像素强度。注意分水岭线可以防止两个集水盆混合。
    [attach]7457[/attach]
    图3 分水岭线构成
    随着降雨的继续,三个湖泊的水位会持续上升并开始淹没陆地(背景)。分水岭变换算法在陆地上构建的水坝会阻止洪水在不同湖泊之间汇合。下面的图显示了已经完成分割的分水岭变换图像。每个集水盆的水使用不同的像素值来表示。黑色的线条表示分水岭线。
    [attach]7458[/attach]
    4 分水岭分割图像显示
    扩展阅读Vincent &Soille’s算法
    Vincent&Soilles’s算法从下而上的填充集水盆。假设一个孔位于每个局部最小值。当地形表面浸泡在水里,水开始溢入所有集水盆,最小值是根据水位确定的。如果两个集水盆更进一步浸入即将要合并,该算法构建一个垂直的大坝到最高的表面调试。大坝代表了分水岭线。NI视觉的分水岭变换函数的核心算法是基于Vincent&Soille’s算法的。NI视觉实现Vincent&Soille’s算法的背后理念是对像素灰度值以降序法进行排序,后面跟随一个包含关于所有像素灰度值排序的快速幅度优先扫描的淹没步骤,简单理解就是首先进行排序过程,然后再进行淹没过程,即首先对每个像素的灰度值进行从低到高的排序,然后再从低到高进行淹没过程,对每个局部极小值在H阶调试的影响域采用先进先出结构进行判断及标注。
    分水岭变换得到的是输入图像的集水盆图像,集水盆之间的边界点,即为分水岭。显然,分水岭表示的是输入图像极大值点。因此,为得到图像的边缘信息,通常把梯度图像作为输入图像(地形图、高度图)。
    分水岭算法对微弱边缘具有良好的响应,图像中的噪声、物体表面细微的灰度变化,都会产生过度分割的现象。但同时,分水岭算法对微弱边缘具有良好的响应,是得到封闭连续边缘的保证。另外,分水岭算法所得到的封闭的集水盆,为分析图像的区域特征提供了可能。
    为消除分水岭算法产生的过度分割,通常可以采用两种处理方法,一是利用先验知识去除无关边缘信息。二是修改梯度函数使得集水盆只响应想要探测的目标。
    为降低分水岭算法产生的过度分割,通常要对梯度函数进行修改,一个简单的方法是对梯度图像进行阈值处理,以消除灰度的微小变化产生的过度分割。所以通常进行分水岭分割时,首先进行阈值处理就是为了消除过度分割。
    Watershed Segmentation分水岭分割实例
    购买主题 本主题需向作者支付 3 元 才能浏览
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23
    LabVIEW图像处理教程
    机器视觉商城淘宝店铺
    视觉论坛充值赞助方法

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-4-24 17:43

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表