VisionPro 定位与卡尺测量学习笔记

VisionPro 定位与卡尺测量学习笔记

一、VisionPro 坐标空间基础

1. 核心坐标空间标识

标识 空间名称 核心特征
· 图像当前空间 CogImage 中 SelectedSpaceName 对应的自定义 / 当前使用空间
# 像素空间 原点为图片左上角,坐标值为整数,纯像素坐标
@ 根空间 默认基础空间,原点为图片左上角,坐标值为浮点型,精度更高
* 控件像素空间 仅用于显示控件,适配界面显示的像素坐标
自定义 Fixture 定位空间 基于工件定位创建的自定义坐标系,随工件旋转 / 平移联动

2. 核心逻辑

所有视觉工具的坐标计算均基于对应空间,测量、定位工具需统一坐标空间,否则结果偏移;Fixture 工具的核心作用是自定义适配工件的定位空间,解决工件位置 / 角度变化后的测量一致性问题。

二、CogFixtureTool(定位工具)

1. 核心作用

  • 建立工件适配的定位坐标系,解决工件旋转、平移后的定位 / 测量偏移问题;

  • 向坐标空间树添加自定义定位坐标系(需命名),输出带新坐标系的图像(像素与输入一致,仅坐标空间变更);

  • 后续卡尺、找圆、找边工具可基于该定位空间执行,自动跟随工件位置变化。

2. 使用前置条件

需先通过其他工具获取2D 转换关系 (核心是位姿 Pose,包含 X、Y 偏移量 + 旋转角度),最常用前置工具:CogPMAlignTool(PMA 模板匹配工具)

3. 配置步骤

  1. 添加工具 :在 VisionPro 流程中添加 CogFixtureTool

  2. 设置图像源:链接待定位的输入图像(与 PMA 工具图像源一致);

  3. 建立工具连接 :绑定 PMA 工具的输出结果 GetPose()(蓝色为工具输出,紫色为输入,该参数包含目标的 X、Y、角度等位姿信息);

  4. 配置定位空间:设置自定义坐标系名称(核心修改项,其余参数默认即可);

  5. 输出图像:选择输出图像的坐标空间为定位空间,供后续卡尺等工具调用。

4. 关键特性

  • Fixture 坐标系随工件旋转 / 平移同步变化,实现 "工件动,坐标系动,测量基准不变";

  • 输出图像像素与输入完全一致,仅变更坐标映射关系,不改变图像本身。

三、Caliper 卡尺工具(游标卡尺)

1. 核心功能

  • 检测图像中的单边缘 / 边缘对

  • 输出边缘位置、边缘对之间的距离(宽度、长度等尺寸),满足工件尺寸测量需求。

2. 核心原理

(1)投影(Projection)
  • 将二维图像沿指定方向压缩为一维投影图像,减少数据量、降低计算量,同时保留 / 增强边缘灰度突变信息;

  • 原理:沿平行于投影方向的光线,累加像素灰度值,生成一维灰度曲线。

(2)边缘筛选(Filter)
  • 目的:消除图像噪音,突出真实边缘;

  • 实现:通过滤波算子(如 [-1,0,1] 梯度算子)对一维投影图像卷积,计算灰度突变值,定位边缘峰值;

  • 示例:-1*前像素 + 0*当前像素 + 1*后像素,峰值对应边缘位置。

(3)边缘检测

基于滤波后的一维曲线,根据对比度、极性、阈值筛选有效边缘,输出边缘位置与得分。

3. 配置步骤

  1. 添加工具:链接 Fixture 输出的定位空间图像(保证坐标统一);

  2. 定义探测区域:绘制蓝色方框作为卡尺区域,需满足:

    • 完全包含目标测量边缘;

    • 边缘与投影方向平行(可旋转区域适配);

    • 排除无关干扰特征;

    • 可倾斜适配工件角度;

  3. 设置核心参数

  4. 运行工具,查看边缘 / 边缘对检测结果。

4. 关键参数详解

(1)基础检测参数
参数 作用 配置要点
极性(Polarity) 定义边缘灰度变化方向(黑→白 / 白→黑 / 任意) 匹配工件实际边缘的灰度突变方向,避免误检
对比度阈值 过滤低对比度无效边缘,仅保留灰度突变超过阈值的边缘 根据图像亮度、噪音调整,阈值过低易检噪音,过高漏检真实边缘
过滤一半像素 控制滤波算子的作用范围,优化边缘峰值强度 接近真实边缘像素尺寸时,峰值更明显;过大 / 过小会削弱峰值
最大结果数 设定最多检测的边缘数量 单边缘测量设为 1,多边缘 / 边缘对按需调整
边缘对 启用后检测成对边缘,直接输出边缘间距 用于宽度、厚度等尺寸测量,需设定预期距离范围
(2)结果相关参数
  • 计分(Score):

    • 单边缘:默认按边缘对比度计分,对比度越高得分越接近 1;

    • 边缘对:按 "实测距离与预期距离的匹配度 + 对比度" 综合计分;

    • 计分公式:分数 = 对比度 / X0(X0 为计分基准值,默认 255,可修改,如设为 75 时,得分更接近 1);

  • 位置(Position):沿搜索方向,相对于输入区域中心的一维测量坐标,基于当前坐标空间输出;

  • 筛选尺寸:匹配滤波算子尺寸与边缘实际宽度,尺寸适配则边缘峰值更强,检测更稳定。

5. 结果输出

  • 结果表格按得分从高到低排序,优先展示高可信度边缘;

  • 核心输出:边缘位置坐标、边缘对间距(尺寸)、检测得分、边缘极性等。

四、结果标注工具:CogCreateGraphicLabelTool

1. 核心作用

在图像上添加文本、坐标、尺寸等注释,直观展示卡尺测量结果(如宽度、边缘位置)。

2. 关键配置

(1)输入类型
  • InputGraphicLabelText:文本输入,直接填写固定注释;

  • InputBoolean:布尔值输入,标注状态类信息;

  • InputDouble:浮点型输入,绑定卡尺输出的尺寸、坐标数值;

  • InputToolResultConstsnt:绑定其他工具(卡尺、Fixture)的结果常量。

(2)格式化输出

通过 Formatted 参数实现数值格式化,如:

  • {D:F2}:十进制数值,保留 2 位小数(适配尺寸测量,如宽度 10.25mm);

  • 支持自定义文本 + 数值组合,如 宽度:{D:F2} mm

五、工具联动与实操流程

1. 标准测量流程(Fixture + PMA + Caliper + Label)

  1. 图像输入:加载工件图像,统一图像源;

  2. 模板匹配(PMA) :定位工件基准,输出位姿 GetPose()

  3. 空间定位(Fixture):绑定 PMA 位姿,创建自定义定位坐标系,输出定位空间图像;

  4. 尺寸测量(Caliper):链接 Fixture 输出图像,绘制探测区域,配置参数,检测边缘 / 边缘对,输出尺寸;

  5. 结果标注(Label):绑定卡尺尺寸结果,格式化后在图像上显示测量值;

  6. 结果输出:导出坐标、尺寸数据,或保存标注后图像。

2. 关键注意事项

  • 坐标空间统一:所有工具必须基于 Fixture 定位空间,避免因工件偏移导致测量错误;

  • 区域适配:卡尺区域需严格贴合测量边缘,排除干扰,投影方向与边缘平行;

  • 参数调优:对比度阈值、筛选尺寸、计分基准值(X0)需根据实际图像调试,保证检测稳定性;

  • 结果校验:优先查看高得分边缘,低得分结果需排查参数或区域设置问题。

六、常见问题与解决

  1. 卡尺检测不到边缘

    • 原因:对比度阈值过高、区域未包含边缘、投影方向与边缘不平行、噪音干扰;

    • 解决:降低阈值、调整区域、旋转区域对齐边缘、优化筛选尺寸。

  2. 测量结果偏移

    • 原因:未使用 Fixture 定位空间、坐标空间不统一、PMA 匹配失败;

    • 解决:绑定 Fixture 输出图像、检查 PMA 位姿输出、重新校准定位坐标系。

  3. 边缘计分过低

    • 原因:对比度低、X0 基准值设置不合理、筛选尺寸不匹配;

    • 解决:调整 X0 数值、优化筛选尺寸、提升图像亮度 / 对比度。

相关推荐
光泽雨8 小时前
检测阈值 匹配阈值分析 金字塔
图像处理·人工智能·计算机视觉·机器视觉·smart3
Gary Studio8 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice8 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
sali-tec8 小时前
C# 基于OpenCv的视觉工作流-章22-Harris角点
图像处理·人工智能·opencv·算法·计算机视觉
工程师老罗8 小时前
YOLOv1 核心知识点笔记
笔记·yolo
lingggggaaaa9 小时前
安全工具篇&动态绕过&DumpLsass凭据&Certutil下载&变异替换&打乱源头特征
学习·安全·web安全·免杀对抗
PP东9 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
学电子她就能回来吗9 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
光羽隹衡10 小时前
计算机视觉——Opencv(图像拼接)
人工智能·opencv·计算机视觉
半壶清水10 小时前
[软考网规考点笔记]-软件开发、项目管理与知识产权核心知识与真题解析
网络·笔记·压力测试