学习海康VisionMaster之间距检测

一:进一步学习了

今天学习下VisionMaster中的间距检测工具:主要类似于卡尺工具,测量物体的长度或者宽度或者间距

二:开始学习

1:什么是间距检测?

间距测量模块用于检测两特征边缘之间的间距,首先查找满足条件的边缘,然后进行距离测量。该模块多用于生产中测量工件宽度、确认工件规格是否满足要求,以及测量两个工件的间距等

2:应用场景:这个应用场景其实在机器视觉的场景下应用还是非常广泛的

(1):手机部件尺寸检测:Cover Glass白色区域宽度:通过线线测量上下边缘,结合ROI区域加速搜索,设置边缘极性(如"黑到白"和"白到黑")以适应不同对比度场景

(2):麦克风条形孔间距:使用卡尺工具的边缘对模式,结合间距计分和边缘对宽度参数,确保多孔结构的均匀性

(3):机械零件间隙检测:测量轴承滚珠间距或齿轮齿距

三:直接上案例

1:先导入需要测试的图片集合

2:使用轮廓定位,把两个组件的线连起来,这里是需要设定模版匹配功能,这样图像不管怎么旋转都能准确定位图像位置,具体操作步骤可以参考前面课程

3:拖入位置修正功能:这个非常重要,这里也不提了,可以参考上一篇笔记

4:拖入间距检测工具模块

5:双击组件,开始设定参数:

基本参数这里就是画ROI,设定跟踪参数和之前的工具是一样的方法

运行参数:核心参数,开始设定(看着其实和之前学习的边缘查找参数比较类似)

(1):滤波尺寸:用于增强边缘和抑制噪声,最小值为1。当边缘模糊或有噪声干扰时,增大该值有利于使检测结果更加稳定。但如果边缘与边缘之间挨得太近,则这个参数不适宜过大

(2):边缘阈值:边缘梯度,只有实际的边缘梯度数值大于这个设定值,才会有效检测到边缘

(3):边缘0/1极性:

从黑到白:就是梯度变化是黑色像素向白色像素过渡的边缘点

从白到黑:就是梯度变化是白色像素向黑色像素过渡的边缘点

任意:只要有梯度变化并且满足条件的点

(4):最大结果数:最大的查找的数量,这里如果需要同时查找多对间距,则可以设定对应的数量,应用多的是检测多个PIN间距

(5):排序方式:就是按照选择的排序方式将多对间距结果罗列出来

(6):边缘对类型:

  • 最宽:检测范围内间距最大的边缘。

  • 最窄:检测范围内间距最小的边缘。

  • 最强:检测范围内边缘对平均梯度最大的边缘。

  • 最弱:检测范围内梯度最小的边缘。

  • 第一对:检测范围内边缘对中心与搜索起始点最近的边缘。

  • 最后一对:检测范围内边缘对中心与搜索起始点最远的边缘。

  • 最接近:检测扫描范围内和理想宽度最接近的边缘集合。

  • 最不接近:检测扫描范围内和理想宽度最不接近的边缘集合。

  • 全部:检测扫描范围内全部的边缘

(7):最小边缘分数:查找到边缘的最小得分,如果得分低于最小分数那么这个边缘就会被过滤

四:实测:上述设定好参数,开始实际测量看看效果

相关推荐
小王爱学人工智能15 分钟前
OpenCV的阈值处理
人工智能·opencv·计算机视觉
XISHI_TIANLAN41 分钟前
【多模态学习】Q&A3:FFN的作用?Embedding生成方法的BERT和Word2Vec?非线性引入的作用?
学习·bert·embedding
湫兮之风1 小时前
OpenCV: Mat存储方式全解析-单通道、多通道内存布局详解
人工智能·opencv·计算机视觉
KFCcrazy42 小时前
嵌入式学习日记(39)51单片机
嵌入式硬件·学习·51单片机
MuMuMu#2 小时前
JAVA NIO学习笔记基础强化学习总结
java·学习·nio
lingggggaaaa2 小时前
小迪安全v2023学习笔记(七十九讲)—— 中间件安全&IIS&Apache&Tomcat&Nginx&CVE
笔记·学习·安全·web安全·网络安全·中间件·apache
我登哥MVP2 小时前
Java File 类学习笔记
java·笔记·学习
点云侠3 小时前
解决Visual Studio 2022编译工程速度慢的问题
开发语言·c++·ide·算法·计算机视觉·visual studio
mysla4 小时前
嵌入式学习day44-硬件—ARM体系架构
学习
微露清风4 小时前
系统性学习数据结构-第三讲-栈和队列
java·数据结构·学习