CogFixtureTool(坐标系、校正与定位)

坐标系

任何VisionPro图像都支持一组坐标空间,为表达特定特征的位置提供数字框架。最有用的空间是根空间和用户空间,根空间将点与原始获取图像中的像素相关联,用户空间用于获得校准和固定空间中的特征位置和测量值。 

根空间

图像的根空间是在任何图像处理之前与所获取图像的像素完全对齐的左手坐标系。根空间的原点(0,0)通常位于图像的左上像素的左上角。正x轴向右延伸,而正y轴向下延伸。下图显示了一个根空间覆盖为红色的图像。 

在获取的图像中,根空间坐标网格定义图像像素之间的边界。任何特征的位置都可以用网格中的(X,Y)值来描述。当采集的图像经过改变图像中像素总数的图像处理操作(二次采样、形态学)时,VisionPro会自动重新调整根空间,使处理后的图像中的特征具有相同的根空间坐标位置。下图显示了通过二次采样缩小尺寸后的同一图像。 

 

在图像处理之后,根空间坐标网格不再与像素边界相对应。VisionPro自动调整根空间,使图像特征(如“COGNEX”中的“C”)保持相同的坐标位置。 

 用户空间 

VisionPro校准和固定工具创建用户空间,在图像的根空间之外定义任意数量的额外坐标系。使用的工具确定了它的利手和单位,并确定了它与根空间的关系。下图显示了添加到所获取图像的根空间的用户空间。 

在这种情况下,用户空间是一个右手坐标系,其原点位于“COGNEX”文本的底部。单个功能具有不同的坐标空间位置,具体取决于您考虑的空间。每个用户空间都有一个唯一的名称,您的应用程序可以使用该名称来确定VisionPro用于报告工具结果的空间。与图像相关联的所有用户空间都存储在坐标空间树中  。

像素空间 

像素空间类似于根空间,只是VisionPro不会对其进行调整以反映图像处理操作的效果。像素空间的原点始终是左上像素的左上角。如果对图像进行二次采样,则特征在二次采样图像的像素空间中的位置将与在原始图像像素空间中不同。通常,像素空间很少对应用程序有用,尽管它在指定要显示的图形时可能很有用。 

还有一个东西:坐标空间树!在很多工具的区域选择的时候,通常需要考虑坐标空间树。

校正与固定

 在VisionPro中,每个图像都有一个相关的坐标空间树,您可以根据视觉应用程序的需要定义任意多的坐标空间。每个坐标空间都是通过二维变换相对于现有坐标空间指定的。坐标空间树为VisionPro工具提供了将应用程序中的坐标空间与图像中的像素或真实世界位置关联起来所需的信息。校准和固定都涉及计算定义新坐标空间的2D变换,然后将所得坐标空间附加到每个运行时图像的坐标空间树。 

校正

许多视觉应用程序要求您以有意义的真实世界值报告测量值和位置。校准包括计算将图像坐标映射到真实世界坐标的二维变换,然后将此预先计算的坐标空间附加到每个运行时图像的坐标空间树。运行时图像中的视觉工具可以以校准单位报告其结果。

固定 (Fixturing)

固定是一个分两步进行的过程,包括: 定义新的坐标空间和将空间附加到输入图像的坐标空间树 ;

可以定义任意数量的特定于应用程序的坐标空间系统。这些系统中的大多数与物理测量单位或校正光学失真无关;它们只是为了方便您编写视觉应用程序。在使用像CogCaliperTool这样的视觉工具进行后续测量之前,您经常进行。例如,假设您的应用程序通过测量每个括号上两条边之间的距离来确保正确生成括号。支架在传送带上移动到摄像机视图中。您已经校准了系统,可以将图像映射到真实世界的位置。您希望使用卡尺工具进行测量,但在获取图像时,每个支架可能有不同的位置或旋转。您希望创建一个自定义坐标空间,该空间随每个图像中的每个新括号移动,这样您就可以使用卡尺测量括号边缘。 

非固定坐标空间和固定坐标空间  

所有固定操作至少使用未固定和固定的坐标空间。这些空间描述如下:

1、未固定的空间是输入图像的选定空间。

2、固定空间是一个坐标空间,通常与图像中的一些众所周知的特征对齐并在概念上附着于这些特征。

您可以定义固定空间,以便更方便地放置视觉工具或进行测量。最终的固定空间由2D变换表示,该变换将点从固定坐标空间映射到非固定空间。  

CogFixture工具 

CogFixtureTool非常简单。若要使用它,您必须已经获得了一个转换,该转换定义了相对于非固定空间的固定空间。该工具在运行时执行两项任务:

1、 将固定坐标空间添加到输入图像的坐标空间树

2、创建输出图像供其他工具使用要完成第一步

请向工具提供以下信息:固定空间的非限定坐标空间名称;输入图像;以及2D变换,所述2D变换定义相对于所述非固定空间的固定空间。可以从其他视觉工具(如PMAlign)的输出中获得二维变换。  

该工具采用InputImage中未固定的空间的名称;它不是工具或运行时参数的属性。

在第二步中,该工具创建一个新的输出图像,该图像与输入图像共享相同的像素和坐标空间树。此图像与输入图像相同,只是它是一个新的COM对象,并且可能具有不同的SelectedSpaceName。输出图像的SelectedSpaceName是未固定的空间或固定空间的名称,具体取决于工具的SpaceToOutput属性的值。该名称始终是完全限定的空间名称。 

通常会利用其固定的功能!

举个栗子:

因为每一次机器人取物件来拍照的位置并不是完全固定的(多多少少有几个像素的偏差),假如我们想要对物件的某一个位置使用blob工具分析,我们就需要使用到CogFixtureTool和CogPMAlignTool,CogPMAlignTool用于模板匹配特征,返回给CogFixtureTool一个二维变换关系(就是图中的GetPose()),  CogFixtureTool就可以把当前拍照的图片固定到之前模板的那张图片,这样blob进行分析的时候,尽管物件位置有偏移,blob分析的地方还是同一个地方。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

公司如何防止终端核心文件数据\资料外泄、泄漏?

如何防止电脑文件被拷贝? 防止电子文件泄密是一个重要的信息安全问题。 PC端地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是一些建议的措施: 加强员工教育和培训:提高员工对电子文…

[ 2024春节 Flink打卡 ] -- 优化(draft)

2024,游子未归乡。工作需要,flink coding。觉知此事要躬行,未休,特记 资源配置调优内存设置 TaskManager内存模型 https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/ TaskManager 内存模型…

不破不立,那些年错过的Python

随着OpenAI的发展,Python的重要性不言而喻。不知你是否和我一样,不知道曾经说过多少次我要学Python,都没有执行起来… 近期我在知识库中更新了一波Python教程,选取了这一篇分享给大家。 前言 很多时候我们需要让程序变成交互性的…

12 Autosar_SWS_MemoryMapping.pdf解读

AUTOSAR中MemMap_autosar memmap-CSDN博客 1、Memory Map的作用 1.1 避免RAM的浪费:不同类型的变量,为了对齐造成的空间两份; 1.2 特殊RAM的用途:比如一些变量通过位掩码来获取,如果map到特定RAM可以通过编译器的位掩码…

HAL STM32 HW I2C DMA + SSD1306/SH1106驱动示例

HAL STM32 HW I2C DMA SSD1306/SH1106驱动示例 📍硬件I2C DMA驱动参考:https://blog.csdn.net/weixin_45065888/article/details/118225993 🔖本工程基于STM32F103VCT6,驱动程序独立,可以移植到任意STM32型号上使用。…

【Redis】理论进阶篇------浅谈Redis的缓存穿透和雪崩原理

一、缓存穿透 1、概念 缓存穿透(查不到数据),是指当用户想要查询数据的时候,会先去Redis中取命中,如果Redis中没有该数据,那么就会向数据库中去查找数据。如果数据库中也没有,则该次查询结果失…

(done) 什么是正定矩阵?Positive Definite Matrices

正定矩阵的定义:https://baike.baidu.com/item/%E6%AD%A3%E5%AE%9A%E7%9F%A9%E9%98%B5/11030459 正定矩阵的作用、验证视频:https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c…

网络安全相关证书有哪些?

网络安全相关证书有哪些呢?了解一下! 1. CISP (国家注册信息安全专业人员) 说到CISP,安全从业者基本上都有所耳闻,算是国内权威认证,毕竟有政府背景给认证做背书,如果想在政府、国企…

使用Outlook邮箱保护您的隐私

在数字时代,我们的电子邮件地址就像是我们的数字身份证,它连接着我们的个人信息和网络世界。无论是注册新服务、购物还是预订餐桌,电子邮件地址都是我们身份的关键部分。然而,这也使我们容易受到垃圾邮件和隐私泄露的影响。但是&a…

SkyWalking之APM无侵入可观测原理分析

一、 简介(为什么需要用到可观测能力) 随着微服务的开发模式的兴起,早期的单体架构系统已拆分为很多的子系统,各个子系统封装为微服务,各服务间通过HTTP协议RESET API或者RPC协议进行调用。 在单体服务或者微服务较少的…

Halcon set_origin_pose变换的原理

为什么要对标定好的坐标系原点进行变换? 在Halcon相机标定的过程中,总是要用到set_origin_pose对世界坐标系进行变换,如果不使用set_origin_pose函数来显式设置坐标系的原点和姿态,默认情况下使用的是第一张图的位姿。这对于不需要进行复杂…

Spring Boot中的@Scheduled注解:定时任务的原理与实现

1. 前言 本文将详细探讨Spring Boot中Scheduled注解的使用,包括其原理、实现流程、步骤和代码示例。通过本文,读者将能够了解如何在Spring Boot应用中轻松创建和管理定时任务。 2. Scheduled注解简介 在Spring框架中,Scheduled注解用于标记…

【网站项目】167校园失物招领小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

ChatGPT在数据分析OKR计划中的应用

ChatGPT在数据分析OKR计划中的应用 ​ 现在大多数公司引入了OKR(objective & key result)计划,数据分析师也需要定期制定和检查自己的OKR计划。我们不仅可以利用ChatGPT辅助制定OKR计划,也可以让其对OKR计划内容进行调整、优…

探索Go语言中的HTTP路由和中间件

在Go语言中,HTTP路由和中间件是实现Web应用程序核心功能的关键组件。路由负责将传入的HTTP请求分发到适当的处理函数,而中间件则提供了一种在请求处理过程中插入额外逻辑的机制。 HTTP路由 在Go中,net/http标准库提供了基本的路由功能&…

01 Linux简介

Linux背景 发展史 linux从哪来的?怎么发展的?得从UNIX说起 1968年,一些来自通用电气公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念1969-1970年&am…

Sora--首个大型视频生成模型

Sora--首个大型视频生成模型 胡锡进于2024年2月20日认为:台当局怂了 新的改变世界模拟器视觉数据转换视频压缩时空补丁(Spacetime Laten Patches)视频生成扩展变压器算法和模型架构结语 胡锡进于2024年2月20日认为:台当局怂了 **T…

《深入浅出 Spring Boot 3.x》预计3月份发版

各位,目前本来新书《深入浅出 Spring Boot 3.x》已经到了最后编辑排版阶段,即将在3月份发布。 目录: 现在把目录截取给大家: 主要内容: 本书内容安排如下。 ● 第 1 章和第 2 章讲解 Spring Boot 和传统 Spri…

C语言菜鸟入门·数组简介

目录 1. 简介 2. 声明数组 3. 初始化数组 3. 访问数组元素 4. 获取数组长度 5. 数组名 1. 简介 在 C 语言中,数组是一种用来存储相同类型数据元素的集合。数组提供了一种便捷的方式来管理一系列相同类型的数据,可以按照索引来访问和操作数组…

【免费雾锁王国】2024年新手搭建雾锁王国服务器教程

免费自建雾锁王国Enshrouded服务器,先领取阿里云300元无门槛代金券,然后在雾锁王国Enshrouded专题页一键部署,不需要基础,鼠标点选即可10秒钟创建一台雾锁王国游戏服务器,超简单,阿里云服务器网aliyunfuwuq…