VsionPro中分享CogBlobTool斑点工具的使用详解

1. 斑点工具作用

探测并且分析图像中的二维形状,斑点通过辨别处于用户定义的灰度范围
内的不同的像素组,来查找对象。简单理解就是将一幅灰度图像,根据用户选定的灰度等级进行分割。
一般用在没有特定的图形轮廓,但是可以通过明暗提取特征的应用,比如:
在这里插入图片描述

2. 工具的部署流程:

在这里插入图片描述

3. 斑点工具的使用:

  1. 添加CogBlobTool工具到Job中
    在这里插入图片描述
  2. 打开CogBlobTool工具编辑
    在这里插入图片描述
    极性:黑色背景中检索白色特征,或者白色背景中检索黑色特征
    阈值:用于分割灰度的限定值
    模式:
    ①固定阈值:固定的阈值分割
    在这里插入图片描述
    缺点是无法自适应光线的变化引起的图像明暗变化,如下图:
    在这里插入图片描述
    ②相对阈值:自动计算分割阈值
    在这里插入图片描述
    下面两张图在不改变参数的情况下依然可以准确提取白色区域
    在这里插入图片描述
    在这里插入图片描述
    高低尾部:可以有效剔除柱状图两端的噪音像素。

连通性处理:
在这里插入图片描述
在这里插入图片描述区域设置:
在这里插入图片描述测量尺寸限制:这里通过一个示例图像做一个查找孔的练习
在这里插入图片描述
① 首先选择极性为:黑底白点,因为孔是白色的
② 然后选择合适的阈值模式,这里采用相对阈值50%,低尾部25%
③ 运行工具,分析要提取的斑点特征:如图这里的图像已经被分割成若干个区域,接下来需要加条件筛选
在这里插入图片描述
④ 连通标记、面积初步过滤:
这里我们通过面积和连通标记做初步筛选:
将ConnectivityLabel设置为包含1:表示只筛选斑点,过滤背景
将面积设置为包含200-1000:通过面积初步筛选一部分相似斑点区域
在这里插入图片描述
⑤ 通过非环性特性筛选包含圆形轮廓:
在这里插入图片描述上图可以看到圆形斑点的非环形值很低,这里筛选包含0-1的区域
在这里插入图片描述
⑥ 完成
在这里插入图片描述

3. 工具结果输出:

在这里插入图片描述
代码获取结果

  public override bool GroupRun(ref string message, ref CogToolResultConstants result)
  {
   for (Int32 toolIdx = 0; toolIdx < toolGroup.Tools.Count; toolIdx++)
    {
      toolGroup.RunTool(toolGroup.Tools[toolIdx], ref message, ref result);
      if(toolGroup.Tools[toolIdx]is CogBlobTool)
      {
       CogBlobTool blob = (CogBlobTool) toolGroup.Tools[toolIdx];
        if(blob.Results.GetBlobs().Count > 0)
        {
          double x = blob.Results.GetBlobs()[toolIdx].CenterOfMassX;
          double y = blob.Results.GetBlobs()[toolIdx].CenterOfMassY;
          double area = blob.Results.GetBlobs()[toolIdx].Area;
        }
     }
  }

以上如有错误,欢迎指出,谢谢。。。

  • 19
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值