halcon3d算子之get_circle_pose详解

该博客详细介绍了Halcon的get_circle_pose算子,用于从2D投影圆确定3D姿态。它解释了算子的工作原理,强调了参数设置和轮廓提取准确性的关键作用,以及如何根据OutputType返回3D姿态或中心和法向量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

get_circle_pose -从圆的2D投影角度确定圆的3D姿态。

在这里插入图片描述

Description

图像中的每个椭圆都可以解释为一个圆在图像中的透视投影。事实上,对于给定半径的圆,在3D中存在两个不同方向的圆,它们会产生相同的投影。get_circle_pose确定这两个圆的3D位置和方向。首先,每个轮廓由一个椭圆近似。然后,基于相机内部参数(CameraParam)和圆在3D中的半径(radius),在相机坐标中确定三维位置和方向(Pose1,Pose2)。

根据参数OutputType的值,位置和方向以3D姿态(OutputType = ‘pose’)或3D圆的中心和圆所在平面的法向量(OutputType = ‘center_normal’)的形式返回。在前一种情况下,绕z轴旋转的角度被设置为零,因为它无法确定。在后一种情况下,输出参数Pose1和Pose2的前三个元素包含圆心的位置。以下三个元素包含法向量。法向量被归一化和定向,使得它们指向远离光学中心(即相机坐标系的原点)的地方。如果OutputType设置为“center_normal”,输出参数Pose1和Pose2只包含6个描述圆的位置和方向的元素,而不是OutputType设置为“pose”时返回的3D姿态的7个元素。

如果在contour中传递了多个轮廓,Radius必须包含一个包含每个轮廓值的元组,或者只有一个值,然后用于所有轮廓。得到的位置和方向依次存储在Pose1和Pose2中,即Pose1和Pose2首先包含第一个轮廓的位姿或位置和法向量,然后包含第二个轮廓的各自值,以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值