• Halcon图像分割总结


    摘要

    机器视觉项目当中,选定特定的图像区域,再此基础上做进一步处理,需要对图像区域分割,分割的方法有很多种,对于具体项目而言,不同的图像分割方法适用的场景不同,因此需要对特定的场景选择特定的图像分割方法,这里对图像区域分割方法做总结。

    全局阈值分割

    全局阈值分割:在整幅图像中根据灰度阈值进行分割;

    1. 适用场景
      光照均匀,想要提取的目标区域与背景之间灰度差异较大,且目标区域的灰度值范围集中且稳定。不适用于环境光变化的场景。
    2. 相关算子
    threshold(Image,Region,grayMin,grayMax);
    
    • 1

    提取灰度值范围在grayMin到grayMax的区域。
    可以直接在主程序窗口输入,也可以采用halcon提供的灰度直方图窗口拉拖最大最小值范围,可以实时的看到提取的区域的变化。
    在这里插入图片描述
    选中阈值,可以实时看到选中的区域变化
    在这里插入图片描述

    自动二值阈值分割

    适合于直方图存在两个波峰的情况,即图像前景背景的区别较大

    1. 适用场景:
      整幅图像黑白对比明显,所要提取的区域与背景灰度值差异很大,且成像稳定、
    2. 相关算子
    binary_threshold(Image,Region,Method,LightDark,UsedThreshold)
    
    • 1

    可以根据第四个参数选择是要提取亮的区域还是暗的区域。
    其中,第三个参数为’max_separability’时,就是非常有名的大津法,Otsu法。
    当选择dark时,分割的结果为:
    在这里插入图片描述
    当选择light时,分割的结果为:
    在这里插入图片描述

    动态阈值分割

    动态阈值分割的方法有很多种,不同动态阈值分割的方法鲁棒性不同。总的来说,动态阈值分割是为了对光照不均匀,图像灰度值变化较大的场景自动分割的方法。

    dyn_threshold

    1. 适用场景
      适用于无法使用单一的阈值分割的情况,如背景比较复杂

    2. 相关算子

    dyn_threshold(OrigImage,thresholdImage,regionDynthresh,Offset,lightdark)
    
    • 1

    在这个算子里面第二个参数是阈值图像,一般在动态分割之前,需要做一个图像均值平滑处理,使用算子mean_image。了解过图像底层算法的人都知道,mean_image的参数代表掩膜窗口,其数值越大,能平滑掉更多的噪点,但是会影响边缘的对比度,一般参数设置为排除掉噪点即可。
    因此这里需要结合图像平滑处理

    mean_image (Image, ImageMean, 3, 3)
    dyn_threshold (Image, ImageMean, RegionDynThresh, 5, 'dark')
    
    • 1
    • 2

    在这里插入图片描述

    var_threshold

    1. 适用场景
      利用局部均值和标准差分割,适用于光照不均匀的场景同时目标区域与周围区域有较大灰度差。
    2. 相关算子
    var_threshold (Image, Region, 15, 15, 0.2, 50, 'dark')
    
    • 1

    图像效果
    在这里插入图片描述
    动态阈值分割的方法有很多,基本效果和以上几个算子效果都差不多,这里就不赘述了…

    亚像素轮廓分割

    亚像素轮廓是halcon的一种数据结构,它不是基于像素的,在像素内部相邻元素之间做边缘拟合,可以具体到像素内部,因此被称为亚像素轮廓。
    相关算子

    threshold_sub_pix(Image,Region,128)
    
    • 1

    这里的含义是将小于128阈值的灰度区域分割成区域。
    图像效果
    在这里插入图片描述

  • 相关阅读:
    一道小学一年级数学题,国产大模型全军覆没
    CMU15445 (Fall 2020) 数据库系统 Project#2 - B+ Tree 详解(上篇)
    TortoiseSVN小乌龟的使用
    控制工程学 en
    asp.net6 blazor 文件上传
    利用Redis实现向量相似度搜索:解决文本、图像和音频之间的相似度匹配问题
    JS奇淫技巧:一行赋值语句,能玩出多少花样?
    小型机房380V断电报警门磁开关状态检测远程控制RTU
    【JavaWeb从零到一】JSP&EL&JSTL
    30、同vlan不同网段能否ping通?网络中各种互通与不通的总结分析
  • 原文地址:https://blog.csdn.net/qq_43376782/article/details/127705196