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

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

相关推荐
小咪一会19 分钟前
速学 RocketMQ
学习·rocketmq·java-rocketmq
千宇宙航20 分钟前
闲庭信步使用图像验证平台加速FPGA的开发:第九课——图像插值的FPGA实现
图像处理·计算机视觉·缓存·fpga开发
future14121 小时前
项目开发日记
前端·学习·c#·游戏开发
每次的天空2 小时前
Android-重学kotlin(协程源码第一阶段)新学习总结
开发语言·学习·kotlin
Brookty2 小时前
【操作系统】线程
java·linux·服务器·后端·学习·java-ee·操作系统
数字芯片实验室8 小时前
分享一个可以学习正则表达式的网址:Pythex.org
学习·正则表达式
陈洪奇8 小时前
注册中心学习笔记整理
笔记·学习
光影少年8 小时前
从前端转go开发的学习路线
前端·学习·golang
gaosushexiangji10 小时前
利用sCMOS科学相机测量激光散射强度
大数据·人工智能·数码相机·计算机视觉
JNU freshman13 小时前
计算机视觉速成 之 概述
人工智能·计算机视觉