VisionPro 机器视觉控件篇 之 CogBlobTool 斑点工具

第二篇 CogBlobTool 斑点工具

文章目录

功能

  • 检测图像中指定像素范围内由灰度值组成的斑点,并获取这些斑点的多种属性,如面积、周长、数量和坐标等。可以通过灰度形态学操作、条件筛选获得需要的斑点。

原理

  • 图像分割:根据用户设置的阈值(灰度分界点),将图像的像素分割为斑点像素(像素权值为0)和背景像素亦称孔(像素权值为1)。
  • 斑点分析:计算斑点的面积、周长、质心等特征参数,以及根据斑点的形状大小等特征进行过滤和分类

参数

阈值模式

硬阈值(固定)
  • 定义一个像素值 (0~255)作为图像分割点,大于此值的为物体(斑点)像素,小于为背景像素。
    -如下图,当设置为阈值设置为150时,大于150的是物体,小于150的是背景。
硬阈值(相对)
  • 使用两组参数指定相对阈值,根据图像中希望工具作为尾像素处理的像素百分比来确定阈值。
硬阈值(动态)
  • 根据输入图像的直方图来自动计算合适的阈值。
软阈值(固定)
  • 在信号处理或图像处理中,采用一个固定的阈值来对信号或图像进行软阈值处理。
软阈值(相对)
  • 通过指定要排除的尾像素和高尾像素的百分比以及柔软步骤的数量来计算低阈值和高阈值。
映射
  • 某些类型的场景不能使用二值阈值技术进行分割(只有当斑点所有部分比背景区域对比更明显的时候二值阈值才有效)。像素映射精确指定哪些像素范围将被分配为斑点,那些像素范围被分配为背景像素,哪些像素范围被分配为边缘像素。

最小面积

  • 设置一个像素值,默认为10,会过滤掉图像中小于这个值的区域

灰度形态学操作(对白色区域操作)

  • 应用算子对像素的邻域进行操作,并改变区域形状的过程。通常在图像分割后对图像进一步处理,增强需要斑点的特征,减少干扰项的特征。
侵蚀(腐蚀)与扩大(膨胀)
  • 8邻域算法实现腐蚀操作和膨胀操作,判断一个像素点跟周围几个像素点是否相同来判断腐蚀还是膨胀
  • 侵蚀:减少或消除物体的特征,增加物体内部孔的厚度
  • 扩大:减少或消除物体内部的孔洞,增加物体形状特征的厚度
打开与关闭
  • 开运算
    • 先侵蚀再扩大
    • 消除细小毛刺/物体的小特征,保留物体内部的孔洞
  • 闭运算
    • 先扩大再侵蚀
    • 消除物体内部的孔洞
垂直面 水平面 正方形
  • 垂直面即对纵向进行操作
  • 水平面即对横向进行操作
  • 正方形即对整个进行操作

测得尺寸

  • 过滤

    • 包含
      • 选中符合条件的斑点
    • 排除
      • 去除符合条件的斑点
  • 排序

    • 根据选择的特征对斑点进行排序,默认降序

图像

名称 功能
Current.InputImage 为 Blob工具提供输入图像,此为InputImage
LastRun.InputImage 显示工具最后一次分析的图像
Current.Histogram 显示关注区域中当前InputImage的直方图(如果有),斑点工具在创建检测记录时生成的
LastRun.Histogram 显示工具所运行最后一个图像的关注区域中的直方图
LastRun.BlobImageUnfiltered 显示由所提取的斑点数据生成的图像
LastRun.BlobImage 显示由所提供的斑点数据生成的图像,不包括已过滤掉的斑点
  • 一般调试时,选择LastRun.BlobImage图像并打开电子模式,可以实时反馈调整参数后的图像

使用步骤

  • 添加斑点工具
  • 传入图像
  • 选择输出图像,设置为电子模式,便于实时展示调整参数后的图像
  • 根据案例不同调整阈值分割区域,默认是整张图图像- 根据要筛选的图像部分,调整参数
  • 根据需要进行过滤、排序,添加其他的斑点信息

常用结果集

  • GetBlobs()
    • Results.GetBlobs().Count : 匹配到的斑点的数量
    • Results.GetBlobs().Item[i].CenterOfMassX,Results.GetBlobs().Item[i].CenterOfMassY: 斑点的质心坐标
    • Results.GetBlobs().Item[i].Perimeter:斑点的周长
    • Results.GetBlobs().Item[0].Area :斑点的面积

注意事项

什么时候使用斑点工具

  • 二维物体图像
  • 图像具有较高的对比度,低对比度的图像可能会导致边缘不清晰
  • *要求尺度不变性和旋转不变性
    • 旋转不变性:只要对特征定义了方向,然后在同一个方向上进行特征描述就可以实现旋转不变性。
    • 尺度不变性:为了实现尺度不变性,需要给特征加上尺度因子。 在进行特征描述的时候,将尺度统一就可以实现尺度不变性了。
相关推荐
丁浩66618 小时前
统计学---2.描述性统计-参数估计
人工智能·算法
国科安芯18 小时前
基于AS32A601型MCU芯片的屏幕驱动IC方案的技术研究
服务器·人工智能·单片机·嵌入式硬件·fpga开发
大千AI助手18 小时前
BPE(Byte Pair Encoding)详解:从基础原理到现代NLP应用
人工智能·自然语言处理·nlp·分词·bpe·大千ai助手·字节对编码
大千AI助手18 小时前
Megatron-LM张量并行详解:原理、实现与应用
人工智能·大模型·llm·transformer·模型训练·megatron-lm张量并行·大千ai助手
Cathy Bryant18 小时前
智能模型对齐(一致性)alignment
笔记·神经网络·机器学习·数学建模·transformer
DO_Community18 小时前
AI 推理 GPU 选型指南:从 A100 到 L40S 再看 RTX 4000 Ada
人工智能·aigc·ai编程·ai推理
iNBC18 小时前
AI基础概念-第一部分:核心名词与定义(二)
人工智能
XIAO·宝18 小时前
深度学习------图像分割项目
人工智能·深度学习·图像分割
chenchihwen18 小时前
AI代码开发宝库系列:Text2SQL深度解析基于LangChain构建
人工智能·python·langchain·text2sql·rag
仙人掌_lz19 小时前
Hybrid OCR-LLM框架用于在大量复杂密集企业级文档信息提取
人工智能·ocr·文档解析