姿态

算子列表 ↓

姿态描述一种刚性三维变换,即由任意平移和旋转组成的变换。在 HALCON 中,姿态是一个包含 7 个参数的元组:3 个参数指定平移(TransXTransXTransXTransXtransXtrans_xTransYTransYTransYTransYtransYtrans_yTransZTransZTransZTransZtransZtrans_z),3 个参数描述旋转(RotXRotXRotXRotXrotXrot_xRotYRotYRotYRotYrotYrot_yRotZRotZRotZRotZrotZrot_z)。最后一个参数编码了平移与旋转的顺序(以及旋转方向)。有关这些参数的更多信息,请参阅 create_posecreate_poseCreatePoseCreatePoseCreatePosecreate_pose 算子的文档及 “解决方案指南III-C - 三维视觉” 手册。

三维姿态可从两个角度理解:首先,用于描述一个坐标系相对于另一个坐标系的位置与方向(例如零件坐标系相对于相机坐标系的姿态——简言之:零件相对于相机的姿态)。其次,姿态描述了两个坐标系之间坐标转换的方式(例如将点从零件坐标系转换为相机坐标系)。

将点坐标从坐标系 1(cs1)转换到坐标系 2(cs2)的变换表示为 。相应地,将 cs1 中给定的点( )转换到 cs2( )的变换表示为

需要注意的是,乘法运算中使用的并非姿态(作为元组),而是该姿态所描述的变换,上述记法仅为提高可读性而采用。因此,姿态 描述的刚体变换由齐次变换矩阵 表示(更多细节可参见 create_posecreate_poseCreatePoseCreatePoseCreatePosecreate_pose 的文档):

因此,姿态 描述了将 cs1 中的点转换为 cs2 的过程。此外,如上所述,它还描述了坐标系本身的转换,但顺序相反:因此, 描述了如何将坐标系 2 转换为坐标系 1,从而得到坐标系 2 相对于坐标系 1 的姿态。

使用这种记法,姿态可以像齐次矩阵那样轻松地进行连接,例如: 此类连接可通过例如 pose_composepose_composePoseComposePoseComposePoseComposepose_compose 实现。


算子列表

convert_pose_typeConvertPoseTypeconvert_pose_typeConvertPoseTypeconvert_pose_type转换姿态类型
更改三维姿态的描述类型。
create_poseCreatePosecreate_poseCreatePosecreate_pose创建姿态
创建三维姿态。
deserialize_poseDeserializePosedeserialize_poseDeserializePosedeserialize_pose反序列化姿态
对序列化的姿态进行反序列化。
dual_quat_to_poseDualQuatToPosedual_quat_to_poseDualQuatToPosedual_quat_to_pose对偶四元数至姿态
将对偶四元数转换为三维姿态。
get_circle_poseGetCirclePoseget_circle_poseGetCirclePoseget_circle_pose获取圆姿态
从二维投影的角度确定圆的三维姿态。
get_pose_typeGetPoseTypeget_pose_typeGetPoseTypeget_pose_type获取姿态类型
获取三维姿态的描述类型。
get_rectangle_poseGetRectanglePoseget_rectangle_poseGetRectanglePoseget_rectangle_pose获取矩形姿态
从透视二维投影确定矩形的三维姿态。
pose_averagePoseAveragepose_averagePoseAveragepose_average姿态平均
计算一组姿态的平均值。
pose_composePoseComposepose_composePoseComposepose_compose姿态组合
将两个元组中给出的三维姿态合并在一起。
pose_invertPoseInvertpose_invertPoseInvertpose_invert姿态反转
反转三维姿态元组中的每个姿态。
pose_to_dual_quatPoseToDualQuatpose_to_dual_quatPoseToDualQuatpose_to_dual_quat姿态至对偶四元数
将三维姿态转换为单位双四元数。
pose_to_quatPoseToQuatpose_to_quatPoseToQuatpose_to_quat姿态至四元数
将三维姿态的旋转部分转换为四元数。
proj_hom_mat2d_to_poseProjHomMat2dToPoseproj_hom_mat2d_to_poseProjHomMat2dToPoseproj_hom_mat2d_to_pose投影单应矩阵二维至姿态
根据描述世界坐标和图像坐标之间关系的单应性计算一个姿态。
quat_to_poseQuatToPosequat_to_poseQuatToPosequat_to_pose四元数至姿态
将四元数转换为相应的三维姿态。
read_poseReadPoseread_poseReadPoseread_pose读取姿态
从文本文件中读取三维姿态。
serialize_poseSerializePoseserialize_poseSerializePoseserialize_pose序列化姿态
序列化姿态。
set_origin_poseSetOriginPoseset_origin_poseSetOriginPoseset_origin_pose设置原点姿态
平移三维姿态的原点。
vector_to_poseVectorToPosevector_to_poseVectorToPosevector_to_pose向量至姿态
计算世界坐标和图像坐标之间的点外绝对姿态对应关系。
write_poseWritePosewrite_poseWritePosewrite_pose写入姿态
将三维姿态写入文本文件。