【三】3D匹配Matching之外形匹配Shape—Based——create_cam_pose_look_at_point()算子


😊😊😊欢迎来到本博客😊😊😊

🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。

😊😊😊 具体食用方式:可以点击本专栏【Halcon算子快速查找】–>搜索你要查询的算子名称;或者点击Halcon算子汇总博客,即可食用。

🎁🎁🎁支持:如果觉得博主的文章还不错或者您用得到的话,可以悄悄关注一下博主哈,如果三连收藏支持就更好啦!这就是给予我最大的支持!😙😙😙


学习目标

  • create_cam_pose_look_at_point()

学习内容

算子简介

函数名解释
create_cam_pose_look_at_point()创建一个3D摄像机位置(从摄像机中心观察方向)。

1、create_cam_pose_look_at_point()

  create_cam_pose_look_at_point( : : CamPosX, CamPosY, CamPosZ, LookAtX, LookAtY, LookAtZ, RefPlaneNormal, CamRoll : CamPose)

  函数说明: 创建一个3D摄像机位置(从摄像机中心观察方向);通过两个点和相机的旋转角度创建3D相机相对于世界坐标系的位姿。第一个点是(CamPosX,CamPosY,CamPosZ),第二个点是(LookAtX,lookAtY,lookAtZ)第一个点定义了相机的光学中心在世界坐标系中的位置,即相机坐标系的原点。第二个点定义了相机的观察点,也确定了观察方向。

  因此,第二个点位于相机坐标系的z轴上。确定了这两个点之后,剩下需要确定的就是相机绕z轴旋转的角度。为了确定这个旋转角度,需要指定一个参考平面,RefPlaneNormal表示这个参考平面的法向量,它确定相机的参考方向。最后,相机的旋转角度通过CamRoll来指定,这个角度表示的是相机围绕z轴相对于其参考方向的旋转。也就是说RefPlaneNormal确定了投影的方向,CamRoll,再使得相机相对于这个参考方向旋转一个角度。

  
  函数参数:
    CamPosX输入相机的光线中心对应的X坐标;
    CamPosY输入相机的光学中心对应的Y坐标;
    CamPosZ输入相机光线中心对应的Z坐标;
    LookAtX输入相机指向的3D立体指定点X坐标;
    LookAtY输入相机指向的3D立体指定点y坐标;
    LookAtZ输入相机指向的3D立体指定点z坐标;
    RefPlaneNormal输入给出法向矢量的参考平面;默认:‘-y’ ;参考:‘x’,‘y’, ‘z;’-x’,‘-y’,‘-z’ ;
    CamRoll输入相机倾斜角度;默认: 0;
    CamPose输出3D相机坐标;

  投影方向和投影平面,参数RefPlaneNormal设置情况说明如下

参数参考平面结果
RefPlaneNormal=‘x’yz平面x轴垂直投影得到的2D图像,指向图形外面
RefPlaneNormal=‘-x’yz平面x轴垂直投影得到的2D图像,指向图形里面
RefPlaneNormal=‘y’xz平面y轴垂直投影得到的2D图像,指向图形外面
RefPlaneNormal=‘-y’xz平面x轴垂直投影得到的2D图像,指向图形里面
RefPlaneNormal=‘z’xy平面z轴垂直投影得到的2D图像,指向图形外面
RefPlaneNormal=‘-z’xy平面z轴垂直投影得到的2D图像,指向图形里面

  除了上面说明的几个方向,RefPlaneNormal可以通过一个数组给出[x,y,z],表示任意的方向,并不严格限定为坐标系的坐标轴。

  相机的光学中心和相机的观察点必须不一样。
  此外,参考平面的法向量不能和z坐标轴平行,否则,相机位姿不能很好地确定。当一个3D模型或者3D图形从一个特定的相机位置投影,使用create_cam_pose_look_at_point可视化非常有用。在这种情况下,由这个算子创建的位姿pose可以传入project_object_model_3d 或者 project_shape_model_3d进行投影计算。
  

Halcon例程

vector_to_fundamental_matrix_distortion.hdev		演示未校准立体重建的结果
find_shape_model_3d_recompute_score.hdev			在基于形状的3D匹配的姿势优化之后重新计算分数

【3D匹配Matching之外形匹配Shape—Based】 待更新算子

  • clear_shape_model_3d()
  • clear_all_shape_model_3d()
  • create_cam_pose_look_at_point()
  • create_shape_model_3d()
  • deserialize_shape_model_3d()
  • find_shape_model_3d()
  • get_shape_model_3d_contours()
  • get_shape_model_3d_params()
  • project_shape_model_3d()
  • read_shape_model_3d()
  • serialize_shape_model_3d()
  • trans_pose_shape_model_3d()
  • write_shape_model_3d()

汇总

  本专栏博客汇总:Halcon算子汇总


🚶🚶🚶今天的文章就到这里啦~
喜欢的话,点赞👍、收藏⭐️、关注💟哦 ~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cqy阳

预祝上岸,感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值