学习海康VisionMaster之平行线查找

一:进一步学习了

今天学习下VisionMaster中的平行线查找,这个还是拟合直线的衍生应用,可以同时测量两条线段,输出中线

二:开始学习

1:什么是平行线查找?

按照传统的算法,必须是开两个窗口,每一个窗口检测一条边,然后计算两条直线的中线,为后续的应用场景输出中线,这样就比较麻烦,现在一个窗口直接搞定,简单直接快速

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

(1)在精密制造中,平行线检测常用于评估零件的加工精度。例如,检测金属板材、玻璃面板或机械部件的平行边缘是否满足工艺要求

(2)在PCB板检测中,需确保元件的引脚排列平行且间距一致

三:直接上案例

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

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

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

4:拖入平行线查找模块

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

(1):首先得先画ROI: 这里在需要测量的地方画一个矩形,比如现在需要测量PIN角的最大距离,就可以把需要测量的区域框起来

(2):接下来需要设定参数了:参数核心含义其实还是和拟合直线是一致的,当然个别参数有点区别,下面说明下参数含义

1):边缘对类型:

最宽:检测ROI内间距最大的边缘对

最窄:检测ROI内间距最小的边缘对。

最强:检测ROI内边缘对平均梯度最大的边缘对

最弱:检测ROI内梯度最小的边缘对

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

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

最接近:检测ROI内和理想宽度最接近的边缘对集合

最不接近:检测扫ROI内和理想宽度最不接近的边缘对集合

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

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

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

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

4):卡尺数量:定义卡尺的数量,相当于每个卡尺检测一个点

5):最大角度差:两条目标直线的角度差小于该值时才会被判定为平行线

6):剔除点数,剔除距离:和剔除距离配合使用,允许坐标点到对应拟合直线的最大距离(像素)

7):滤波尺寸:设定边缘的清晰程度条件,边缘如果越清晰,这个数值就要减小

8):投影宽度:类似于ROI宽度,就是每一个小检测框的宽度,数值越大,可以相对获取更加稳定一点的坐标点

9):初始拟合:局部:按照局部的特征点来拟合

全局:以查找到的全局特征点进行直线拟合

10):拟合方式:提供了三个拟合算法,三种拟合算法权重的计算方式有些差异

四:实测:上述设定好参数,开始实际测量看看效果,不同的检测模式下的检测效果

相关推荐
走在路上的菜鸟10 小时前
Android学Dart学习笔记第十三节 注解
android·笔记·学习·flutter
sszdlbw10 小时前
后端springboot框架入门学习--第一篇
java·spring boot·学习
秋深枫叶红10 小时前
嵌入式第三十五篇——linux系统编程——exec族函数
linux·前端·学习
richxu2025100111 小时前
嵌入式学习之路>单片机核心原理篇>(14) ARM 架构
arm开发·单片机·学习
啊阿狸不会拉杆11 小时前
《数字图像处理》第 3 章 - 灰度变换与空间滤波
图像处理·人工智能·算法·计算机视觉·数字图像处理
YJlio11 小时前
BgInfo 学习笔记(11.5):多种输出方式(壁纸 / 剪贴板 / 文件)与“更新其他桌面”实战
笔记·学习·c#
风和先行12 小时前
androidStudio gradle 配置学习总结
学习
YJlio12 小时前
桌面工具学习笔记(11.4):BgInfo + Desktops + ZoomIt 组合拳——演示与排障环境一键到位
笔记·学习·自动化
玩具猴_wjh12 小时前
12.15 学习笔记
笔记·学习
shenghaide_jiahu12 小时前
数学分析简明教程——6.3
学习