学习海康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):拟合方式:提供了三个拟合算法,三种拟合算法权重的计算方式有些差异

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

相关推荐
多看书少吃饭5 小时前
基于 OpenCV 的眼球识别算法以及青光眼算法识别
人工智能·opencv·计算机视觉
茯苓gao6 小时前
STM32G4 电流环闭环
笔记·stm32·单片机·嵌入式硬件·学习
easy20206 小时前
机器学习的本质:从跑模型到真正解决问题
笔记·学习·机器学习
Blossom.1186 小时前
从“能写”到“能干活”:大模型工具调用(Function-Calling)的工程化落地指南
数据库·人工智能·python·深度学习·机器学习·计算机视觉·oracle
无妄无望6 小时前
目标计数论文阅读(1)Class-Agnostic Counting
论文阅读·计算机视觉
小王爱学人工智能7 小时前
利用OpenCV进行指纹识别的案例
人工智能·opencv·计算机视觉
小王爱学人工智能8 小时前
OpenCV的特征检测
人工智能·opencv·计算机视觉
普蓝机器人8 小时前
AutoTrack-IR-DR200仿真导航实验详解:为高校打造的机器人学习实践平台
人工智能·学习·机器人·移动机器人·三维仿真导航
AndrewHZ9 小时前
【图像处理基石】图像压缩有哪些经典算法?
图像处理·计算机视觉·dct·cv·图像压缩·哈夫曼编码·rle
chxin140169 小时前
openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 四(91-)
c++·opencv·计算机视觉