VisionPro学习笔记-CogFixtureTool

news/2025/10/29 20:02:48/文章来源:https://www.cnblogs.com/PrepAndPonder/p/19175272

CogFixtureTool 定位工具文档

1. 工具概述

CogFixtureTool 是康耐视 VisionPro 视觉软件中的核心坐标系管理工具,主要用于在图像中创建和管理坐标系转换。其核心功能是根据提供的二维变换关系,在图像的原始坐标系(UnfixturedSpace)基础上创建一个新的、与目标物体对齐的稳定坐标系(FixturedSpace),从而为后续的视觉处理(如测量、检测)提供统一的基准。

该工具的核心价值在于实现 “坐标系的动态对齐”。它通过接收一个来自定位工具(如 CogPMAlignTool)的变换参数,建立一个“随动”坐标系,使得即使工件在相机视野中的位置和角度发生变化,后续的所有检测和测量操作都能在一个与工件本身固定的参考系下进行,极大提高了系统的鲁棒性和准确性。

2. 核心功能与特点

  • 坐标系创建与添加:CogFixtureTool 的主要任务是在输入图像的坐标空间树中添加一个用户定义的 FixturedSpace(固定空间)。这个新坐标系的原点和方向可以由用户指定,通常与图像中定位到的目标特征(如中心点)对齐。
  • 输出图像生成:该工具会创建一幅输出图像。这幅输出图像与输入图像共享相同的像素数据,但其内部的坐标空间树中包含了新创建的 FixturedSpace。其他下游工具可以使用这幅输出图像,并选择在 FixturedSpace 下进行处理。
  • 支持多种变换输入:工具可以通过 RunParams.UnfixturedFromFixturedTransform 参数接收一个完整的二维变换(包含平移和旋转),也可以分别通过 TranslationXTranslationYRotation 参数接收平移和旋转分量。前者通常由模板匹配工具的结果(如 CogPMAlignTool.Results.Item[0].GetPose())提供,更为常用和便捷。
  • 模式选择:工具提供 Compatibility(兼容模式)Enhanced(增强模式) 两种运行模式。兼容模式使用旧版算法以确保与早期项目的兼容性;增强模式使用优化后的新算法,能提供更高的精度和性能,无特殊要求时推荐选择增强模式。

3. 关键概念解析

理解 CogFixtureTool 需要掌握 VisionPro 中的几个基本空间概念:

空间概念 符号表示 含义与特点
UnfixturedSpace(非固定空间) 图像的原始坐标系,通常对应像素空间。 原点固定在图像的左上角。无论工件如何移动,这个坐标系都是不变的。
FixturedSpace(固定空间) 用户通过 CogFixtureTool 新创建的自定义坐标系 原点与方向可以与工件的特定特征对齐。这是一个“随动”坐标系,会跟随工件移动或旋转。
Root Space(根空间) @ 所有坐标空间的基础,原点在图像左上角,坐标值为浮点数。
Pixel Space(像素空间) # 基于图像像素的坐标系,坐标值为整数。

CogFixtureTool 的核心作用是定义从 UnfixturedSpace 到 FixturedSpace 的映射关系。工具运行后,会输出一幅新的图像,这幅图像的 SelectedSpaceName(当前选中的空间)可以是 UnfixturedSpace 或 FixturedSpace,这取决于工具的 SpaceToOutput 属性设置。

4. 在 QuickBuild 中的配置流程

4.1 添加与连接工具

  1. 添加工具:在 QuickBuild 的工具箱中,找到 Calibration & Fixturing 类别下的 CogFixtureTool,将其拖放到作业中。通常将其放置在定位工具(如 CogPMAlignTool)之后。
  2. 连接图像源:将工具的 InputImage 链接到图像源或上一个工具的 OutputImage
  3. 提供变换关系(最关键的一步):将定位工具(如 CogPMAlignTool)得到的位姿结果(通常是 Results.Item[0].GetPose())链接到 CogFixtureTool 的 RunParams.UnfixturedFromFixturedTransform 参数。这相当于告诉工具如何创建新坐标系。

4.2 关键参数设置

在工具的属性窗口中,需配置以下参数:

  • Action:通常设置为 EstablishNewFixture,以创建一个新的固定坐标系。
  • SpaceTo Output:选择输出图像的当前空间,决定下游工具默认在哪个坐标系下工作。
  • FixturedSpace Name:为新建的坐标系设置一个唯一的名称。当项目中存在多个 CogFixtureTool 时,务必确保名称不重复,以避免冲突。
  • FixturedSpace Duplicate Handling:在 Compatibility(兼容模式)和 Enhanced(增强模式)中选择。无特殊要求时,建议选择 Enhanced 以获得更好的性能。

5. 完整工作流程与数据流向

一个典型的使用 CogFixtureTool 的视觉处理流程如下:

  1. 图像获取与定位
    • 使用 CogPMAlignTool(模板匹配工具)在图像中搜索并定位工件。该工具输出找到工件的位置和角度信息(一个二维变换关系)。
  2. 建立固定坐标系
    • CogPMAlignToolResults.Item[0].GetPose() 输出链接到 CogFixtureToolRunParams.UnfixturedFromFixturedTransform 输入。
    • CogFixtureTool 根据此变换关系创建一个新的坐标系(FixturedSpace),其原点位于匹配到的工件中心,方向与工件方向对齐。
  3. 执行精确测量/检测
    • 后续的测量工具(如 CogCaliperTool 卡尺工具)将其输入图像和坐标空间链接到 CogFixtureTool 的输出。
    • 这些工具将在新的固定坐标系下工作,无论工件在视野中如何移动或旋转,测量基准始终与工件绑定,从而保证结果的稳定性和准确性。

6. 主要应用场景

  • 高精度尺寸测量:在生产线上对零件进行检测时,零件可能以不同的角度和位置出现在相机视野中。使用 CogFixtureTool 可以将零件图像统一对齐到标准坐标系,从而保证测量工具(如卡尺)始终在正确的位置进行测量,提高检测的准确性和鲁棒性。
  • 机器人引导:在机器人抓取或加工应用中,CogFixtureTool 可以将图像中识别到的目标物体的坐标转换到机器人的基坐标系中,引导机器人准确移动到目标位置。

7. 注意事项与技巧

  • 空间名称唯一性:当您的项目中存在多个 CogFixtureTool 时,务必为每个工具定义的固定空间设置唯一的名称,以避免冲突和混淆。
  • 确保链接正确:务必确保定位工具(如 CogPMAlignTool)的结果正确链接到 CogFixtureTool 的变换参数(通常是 RunParams.UnfixturedFromFixturedTransform),这是工具正常工作的基础。
  • 理解变换方向:参数 RunParams.UnfixturedFromFixturedTransform 定义了从固定空间(FixturedSpace)反向映射回非固定空间(UnfixturedSpace)的变换关系。虽然参数名容易引起困惑,但通常我们只需将匹配工具的 GetPose() 结果链接至此即可。
  • 替代工具:除了 CogFixtureTool,VisionPro 还提供了 CogFixtureNPointToNPointTool,它可以通过多组点对来计算复杂的线性或非线性变换模型,常用于特定标定场景。

实践效果

image

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/950210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年10月临江鳝丝店推荐榜单:五家特色店铺详细对比分析

作为乐山地区最具代表性的江湖菜之一,临江鳝丝近年来受到越来越多美食爱好者的关注。根据餐饮行业数据显示,2025年临江鳝丝类餐厅的搜索量同比增长显著,反映出消费者对这道传统美食的持续热情。许多游客来到乐山,除…

2025年10月临江鳝丝店推荐:乐山地区五家优质店铺榜单与对比分析

对于想要品尝正宗临江鳝丝的朋友来说,选择一家品质可靠的店铺尤为重要。临江鳝丝作为乐山地区的特色美食,以其独特的烹饪技法和鲜明的地方风味受到广泛关注。当前餐饮市场注重食材新鲜度和工艺传承性,消费者在选择时…

2025年10月临江鳝丝店详细评测:结合实地体验与行业标准

作为乐山地区独具特色的美食代表,临江鳝丝近年来受到越来越多食客的关注。选择一家正宗的临江鳝丝店,不仅是为了满足味蕾的享受,更是对地方饮食文化的体验。许多游客和本地居民在寻找鳝丝店时,常常面临信息不全面、…

2025年10月临江鳝丝店评价榜:传统与创新菜系全面解析

临江鳝丝作为乐山地区的传统特色美食,近年来受到越来越多美食爱好者的关注。许多游客前往乐山旅游时,会将品尝正宗临江鳝丝列为重要行程;本地居民也时常需要寻找合适的餐厅招待亲友。在选择临江鳝丝店时,消费者通常…

25岁零基础转行软件测试挑战高薪,真的可以么?

我自己也是一个零基础转行过来的,听我的,如果你对现在的职业不感兴趣,又没多少钱,真的可以转行学软件测试!我可以摸着我的良心和过万的薪资单告诉你,学会了只赚不亏! 一、软件测试行业的前景如何?毫不夸张的说…

提高组模拟赛 40 A. 子序列 题解

提高组模拟赛 40 A. 子序列 题解 t1 笑传之 crash crash 标 题意略 首先有一个性质 对于所有由 \(c\) 个 \(0\),\(d\) 个 \(1\) 组成的任意串,他对答案的贡献是相等的。 我不会证,但是 gpt 真好用:证明🧮 证明思…

详细介绍:Hadoop

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【题解】Educational Codeforces Round 105E

题目链接 Educational Codeforces Round 105E 题目大意 给定一张图,有三种操作:在 \(u\) \(v\) 之间连一条标号为 \(c\) 的边。 去掉 \(u\) \(v\) 之间的边。 询问是否有经过 \(k\) 个点的路径,使得可以从 \(v_1\) 走…

业务人员能学低代码吗

市场部想搭个活动报名系统,等 IT 排期要半个月;人事部想做个考勤统计表,Excel 公式总出错 —— 很多业务人员都有过 “要是自己能做系统就好了” 的想法,但一听到 “低代码”,又会犯怵:“我连代码都不会写,能学…

低代码只能做简单表单?复杂业务场景的适配方案

“低代码做个报名表单、请假审批还行,要做生产排程、供应链管理这种复杂系统,肯定不行吧?”—— 这是很多制造、零售企业的顾虑。 确实,复杂业务不像简单表单那样 “填信息、存数据” 就行,比如生产排程要考虑 “…

ARC183 做题记

训A () 题意 题解 \(\bf{record}\) B () 题意 题解 \(\bf{record}\) C () 题意 题解 \(\bf{record}\) D () 题意 题解 \(\bf{record}\)

C++小白修仙记_LeetCode刷题_459重复的子字符串

459. 重复的子字符串 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例: 输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。 解法: class Solution …

《强化学习数学原理》学习笔记7——从贝尔曼最优方程得到最优策略 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

白忙活这么多年!早知道有这9款软件,我少熬好几个通宵!

有时候回头一想,过去几年真的太多“重复劳动”“无效沟通”“忙着忙着就下班了”的时刻。 现在回过头来看,那根本不叫“勤奋”,那叫“工具落后”。 换句话说: 不是你不努力,是你用的工具太原始。 今天不讲虚的,也…

P4427 [BJOI2018] 求和

P4427 [BJOI2018] 求和 题解题目传送门 欢迎光临我的博客喵 (以下记每个点的点权为它在此题中的深度) (以下运算均忽略取模) 我曾经听说过一个技巧:对于有关树上路径的一类问题,我们可以把 \(u -> v\) 的路径…

C++ string底层完成逻辑(与类知识点结合)string——下

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025青科会启幕,网易伏羲携游戏AI前沿实践共话未来

2025年10月24日-26日,由中国科协与浙江省人民政府共同发起的2025世界青年科学家峰会(以下简称“青科会”)在浙江温州举行。这场面向全球青年高层次人才的科技盛会,吸引了来自47个国家和地区、70余家国际科技组织的…

Python电力负荷预测:LSTM、GRU、DeepAR、XGBoost、Stacking、ARIMA结合多源数据融合与SHAP可解释性的研究

全文链接:https://tecdat.cn/?p=44127视频出处:拓端抖音号@拓端tecdat分析师:Junye Ge作为数据科学团队,我们在电力能源领域深耕多年,曾为多地电网公司提供负荷预测咨询服务,本文内容正是基于过往某省级电网预测…

第二十九篇

今天是10月29日,上了离散和马原