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


欢迎来到本博客

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

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

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


文章目录

  • 学习目标
  • 学习内容
    • 1、create_cam_pose_look_at_point()
      • Halcon例程
  • 【3D匹配Matching之外形匹配Shape—Based】 待更新算子
  • 汇总

学习目标

  • 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算子汇总


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

你可能感兴趣的:(#,【三】3D匹配Matching,人工智能,图像处理,算法,计算机视觉,halcon)