Halcon - 旋转姿势
Halcon - Rotate pose
我知道 set_origin_pose
可以在 X/Y/Z 中移动姿势。
但我无法沿其自身的 X Y 或 Z 轴旋转姿势。我不能简单地为姿势的值添加一个角度,因为它们指的是相机的坐标。
如何旋转姿势?
解决方法是将姿势转换为 mat3d,用 hom_mat3d_rotate_local 旋转垫子,然后再转换回姿势:
*shift base pose
set_origin_pose (CalculationPose, X1 ,0, Y1, CalculationPose)
disp_3d_coord_system(3600, CameraParam, CalculationPose, 0.1)
*rotate base pose
pose_to_hom_mat3d(CalculationPose, CalculationMat)
hom_mat3d_rotate_local(CalculationMat, -AngleRad , 'y',CalculationMatRotated)
hom_mat3d_to_pose(CalculationMatRotated, CalculationPose)
我知道 set_origin_pose
可以在 X/Y/Z 中移动姿势。
但我无法沿其自身的 X Y 或 Z 轴旋转姿势。我不能简单地为姿势的值添加一个角度,因为它们指的是相机的坐标。
如何旋转姿势?
解决方法是将姿势转换为 mat3d,用 hom_mat3d_rotate_local 旋转垫子,然后再转换回姿势:
*shift base pose
set_origin_pose (CalculationPose, X1 ,0, Y1, CalculationPose)
disp_3d_coord_system(3600, CameraParam, CalculationPose, 0.1)
*rotate base pose
pose_to_hom_mat3d(CalculationPose, CalculationMat)
hom_mat3d_rotate_local(CalculationMat, -AngleRad , 'y',CalculationMatRotated)
hom_mat3d_to_pose(CalculationMatRotated, CalculationPose)