学习海康VisionMaster之四边形查找

一:进一步学习了

今天学习下VisionMaster中的四边形查找,这个还是拟合直线的衍生应用,可以同时测量四条直线并且输出交点或者判定是否有交点

二:开始学习

1:什么是四边形查找?

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

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

  1. 包装盒检测

    • 纸箱、包装盒的完整性检查

    • 包装盒定位和位置校正

    • 包装盒尺寸测量

  2. 印刷电路板(PCB)检测

    • PCB板定位

    • 焊盘区域检测

    • 元件位置验证

  3. 液晶面板检测

    • 屏幕边缘检测

    • 面板定位

    • 缺陷区域标记

三:直接上案例

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

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

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

4:拖入四边形查找模块

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

(1):首先得先画ROI: 这里还是比较方便的,工具直接生成了4个直线测量框,并且方向都标注好了,我们可以随意拖动到四个边缘位置即可

(2):然后开始设定参数:具体的参数其实是和之前的直线查找是一样的,因为底层算法其实还是拟合直线算法,相当于做了一个封装

1):边缘选择,边缘1/2/3/4,这里就是选择需要设定哪一条边缘的参数

2):边缘类型:最强:在边缘检测方向上查找梯度变化最大的边缘点,并将其拟合为直线。

第一条:查找边缘方向上寻找到的第一个点组合成点集合

最后一条:查找边缘方向上寻找到的最后一个点组合成点集合

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

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

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

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

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

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

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

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

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

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

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

四:实测:上述设定好参数,开始实际测量看看效果:这里就非常方便的只用了一个窗口,就把4个边缘位置都抓准了,自动计算出了中心坐标

相关推荐
searchforAI12 分钟前
Ai好记 vs Get笔记:AI音视频笔记工具深度测评对比
人工智能·笔记·学习·ai·音视频·语音识别
萨小耶16 分钟前
[Java学习日记10】聊聊checked exception和runtime exception
java·开发语言·学习
噜噜噜阿鲁~19 分钟前
python学习笔记 | 11.5、面向对象高级编程-使用枚举类
笔记·python·学习
sali-tec34 分钟前
C# 基于OpenCv的视觉工作流-章81-弯脚检测
图像处理·人工智能·opencv·算法·计算机视觉
彭祥.35 分钟前
基于SQLite与face_recognition的人脸库管理
数据库·计算机视觉·sqlite
muddjsv43 分钟前
《算法导论》入门学习路径:从零基础到系统掌握
学习·算法
ZC跨境爬虫44 分钟前
SQL学习日志_Day2_深入SQL语法与数据库层级结构
数据库·sql·学习·oracle
前端摸鱼匠1 小时前
YOLOv11 深入 Ultralytics 框架的源码目录,解析 ultralytics/cfg/models/11/ 下的模型配置文件,以及 ultralytics/nn/modules/下的模块
人工智能·yolo·目标检测·计算机视觉·目标跟踪
懷淰メ1 小时前
【AI加持】基于PyQt+YOLO+DeepSeek的结直肠息肉检测系统(详细介绍)
yolo·目标检测·计算机视觉·pyqt·ai加持·直肠息肉·结直肠
nashane1 小时前
HarmonyOS 6学习:DevEco Studio跨平台开发环境深度排障指南
学习·华为·harmonyos