VisionPro 定位与卡尺测量学习笔记
一、VisionPro 坐标空间基础
1. 核心坐标空间标识
| 标识 | 空间名称 | 核心特征 |
|---|---|---|
| · | 图像当前空间 | CogImage 中 SelectedSpaceName 对应的自定义 / 当前使用空间 |
| # | 像素空间 | 原点为图片左上角,坐标值为整数,纯像素坐标 |
| @ | 根空间 | 默认基础空间,原点为图片左上角,坐标值为浮点型,精度更高 |
| * | 控件像素空间 | 仅用于显示控件,适配界面显示的像素坐标 |
| 自定义 | Fixture 定位空间 | 基于工件定位创建的自定义坐标系,随工件旋转 / 平移联动 |
2. 核心逻辑
所有视觉工具的坐标计算均基于对应空间,测量、定位工具需统一坐标空间,否则结果偏移;Fixture 工具的核心作用是自定义适配工件的定位空间,解决工件位置 / 角度变化后的测量一致性问题。
二、CogFixtureTool(定位工具)
1. 核心作用
-
建立工件适配的定位坐标系,解决工件旋转、平移后的定位 / 测量偏移问题;
-
向坐标空间树添加自定义定位坐标系(需命名),输出带新坐标系的图像(像素与输入一致,仅坐标空间变更);
-
后续卡尺、找圆、找边工具可基于该定位空间执行,自动跟随工件位置变化。
2. 使用前置条件
需先通过其他工具获取2D 转换关系 (核心是位姿 Pose,包含 X、Y 偏移量 + 旋转角度),最常用前置工具:CogPMAlignTool(PMA 模板匹配工具)。
3. 配置步骤
-
添加工具 :在 VisionPro 流程中添加
CogFixtureTool; -
设置图像源:链接待定位的输入图像(与 PMA 工具图像源一致);
-
建立工具连接 :绑定 PMA 工具的输出结果
GetPose()(蓝色为工具输出,紫色为输入,该参数包含目标的 X、Y、角度等位姿信息); -
配置定位空间:设置自定义坐标系名称(核心修改项,其余参数默认即可);
-
输出图像:选择输出图像的坐标空间为定位空间,供后续卡尺等工具调用。
4. 关键特性
-
Fixture 坐标系随工件旋转 / 平移同步变化,实现 "工件动,坐标系动,测量基准不变";
-
输出图像像素与输入完全一致,仅变更坐标映射关系,不改变图像本身。
三、Caliper 卡尺工具(游标卡尺)
1. 核心功能
-
检测图像中的单边缘 / 边缘对;
-
输出边缘位置、边缘对之间的距离(宽度、长度等尺寸),满足工件尺寸测量需求。
2. 核心原理
(1)投影(Projection)
-
将二维图像沿指定方向压缩为一维投影图像,减少数据量、降低计算量,同时保留 / 增强边缘灰度突变信息;
-
原理:沿平行于投影方向的光线,累加像素灰度值,生成一维灰度曲线。
(2)边缘筛选(Filter)
-
目的:消除图像噪音,突出真实边缘;
-
实现:通过滤波算子(如 [-1,0,1] 梯度算子)对一维投影图像卷积,计算灰度突变值,定位边缘峰值;
-
示例:
-1*前像素 + 0*当前像素 + 1*后像素,峰值对应边缘位置。
(3)边缘检测
基于滤波后的一维曲线,根据对比度、极性、阈值筛选有效边缘,输出边缘位置与得分。
3. 配置步骤
-
添加工具:链接 Fixture 输出的定位空间图像(保证坐标统一);
-
定义探测区域:绘制蓝色方框作为卡尺区域,需满足:
-
完全包含目标测量边缘;
-
边缘与投影方向平行(可旋转区域适配);
-
排除无关干扰特征;
-
可倾斜适配工件角度;
-
-
设置核心参数;
-
运行工具,查看边缘 / 边缘对检测结果。
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)
-
图像输入:加载工件图像,统一图像源;
-
模板匹配(PMA) :定位工件基准,输出位姿
GetPose(); -
空间定位(Fixture):绑定 PMA 位姿,创建自定义定位坐标系,输出定位空间图像;
-
尺寸测量(Caliper):链接 Fixture 输出图像,绘制探测区域,配置参数,检测边缘 / 边缘对,输出尺寸;
-
结果标注(Label):绑定卡尺尺寸结果,格式化后在图像上显示测量值;
-
结果输出:导出坐标、尺寸数据,或保存标注后图像。
2. 关键注意事项
-
坐标空间统一:所有工具必须基于 Fixture 定位空间,避免因工件偏移导致测量错误;
-
区域适配:卡尺区域需严格贴合测量边缘,排除干扰,投影方向与边缘平行;
-
参数调优:对比度阈值、筛选尺寸、计分基准值(X0)需根据实际图像调试,保证检测稳定性;
-
结果校验:优先查看高得分边缘,低得分结果需排查参数或区域设置问题。
六、常见问题与解决
-
卡尺检测不到边缘
-
原因:对比度阈值过高、区域未包含边缘、投影方向与边缘不平行、噪音干扰;
-
解决:降低阈值、调整区域、旋转区域对齐边缘、优化筛选尺寸。
-
-
测量结果偏移
-
原因:未使用 Fixture 定位空间、坐标空间不统一、PMA 匹配失败;
-
解决:绑定 Fixture 输出图像、检查 PMA 位姿输出、重新校准定位坐标系。
-
-
边缘计分过低
-
原因:对比度低、X0 基准值设置不合理、筛选尺寸不匹配;
-
解决:调整 X0 数值、优化筛选尺寸、提升图像亮度 / 对比度。
-