PCL setCameraPosition 参数讲解

这篇具有很好参考价值的文章主要介绍了PCL setCameraPosition 参数讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PCL setCameraPosition 参数讲解,PCL 点云,PCL 点云

       

setCameraPosition 的原型如下

void setCameraPosition (double pos_x, double pos_y, double pos_z,
                           double view_x, double view_y, double view_z,
                           double up_x, double up_y, double up_z, int viewport = 0);

pos_x pos_y pos_z为相机所在的位置

view_x view_y  view_z 是焦点所在的位置

up_x  up_y  up_z 的那个坐标轴朝上,若朝上则为1,若朝下为-1

cloudcompare 中正视的的坐标显示如下图,Z轴朝上(up_x=0 up_y=0 up_z=1)而Y轴背离 所以相机位置 pos_y为负值.

PCL setCameraPosition 参数讲解,PCL 点云,PCL 点云

如果坐标系看起来不直观,建议拿个盒子画好正视的坐标系 .

以下是切换自动计算相机位置、焦点位置、相机朝向的计算函数文章来源地址https://www.toymoban.com/news/detail-715170.html

#define    PCL_FACEVIEW      1  //正视
#define    PCL_DOWNVIEW      2  //仰视
#define    PCL_LEFTVIEW      3  //左视
#define    PCL_RIGHTVIEW     4  //右视
#define    PCL_TOPVIEW       5  //俯视
#define    PCL_BACKVIEW      6  //后视

void getCameraParam(int viewPos,PointT minIn,PointT maxIn,PointT &cameraPosOut,PointT &focusPosOut,PointT &upPosOut){


  switch (viewPos) {
  case PCL_FACEVIEW     : //OK
  {
    focusPosOut.x=0;
    focusPosOut.y=0;
    focusPosOut.z=0;
    cameraPosOut.x=0;
    cameraPosOut.y=-300;
    cameraPosOut.z=0;
    upPosOut.x=0;
    upPosOut.y=0;
    upPosOut.z=1;

  }
  break;
  case PCL_DOWNVIEW     :   //OK
  {
    focusPosOut.x=0;
    focusPosOut.y=0;
    focusPosOut.z=0;
    cameraPosOut.x=0;
    cameraPosOut.y=0;
    cameraPosOut.z=-300;
    upPosOut.x=0;
    upPosOut.y=1;
    upPosOut.z=0;
  }
  break;
  case PCL_LEFTVIEW     :  //OK
  {
    focusPosOut.x=0;
    focusPosOut.y=0;
    focusPosOut.z=0;
    cameraPosOut.x=-300.0;
    cameraPosOut.y=0;
    cameraPosOut.z=0;
    upPosOut.x=0;
    upPosOut.y=0;
    upPosOut.z=1;
  }
  break;
  case PCL_RIGHTVIEW    :  //OK
  {
    focusPosOut.x=0;
    focusPosOut.y=0;
    focusPosOut.z=0;
    cameraPosOut.x=300;
    cameraPosOut.y=0;
    cameraPosOut.z=0;
    upPosOut.x=0;
    upPosOut.y=0;
    upPosOut.z=1;

  }
  break;

  case     PCL_TOPVIEW: //OK
  {
    focusPosOut.x=0;
    focusPosOut.y=0;
    focusPosOut.z=0;
    cameraPosOut.x=0;
    cameraPosOut.y=0;
    cameraPosOut.z=300;
    upPosOut.x=0;
    upPosOut.y=1;
    upPosOut.z=0;

  }
  break;
  case     PCL_BACKVIEW:    //OK
  {
    focusPosOut.x=0;
    focusPosOut.y=0;
    focusPosOut.z=0;
    cameraPosOut.x=0;
    cameraPosOut.y=300.0;
    cameraPosOut.z=0;
    upPosOut.x=0;
    upPosOut.y=0;
    upPosOut.z=1.0;
  }
  break;

  }


}

到了这里,关于PCL setCameraPosition 参数讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PCL点云库(2) - IO模块

    目录 2.1 IO模块接口 2.2 PCD数据读写 (1) PCD数据解析 (2)PCD文件读写示例 2.3 PLY数据读写 (1)PLY数据解析 (2)PLY文件读写示例 2.4 OBJ数据读写 (1)OBJ数据解析 (2)OBJ文件读写示例 2.5 VTK数据读写 (1)VTK数据解析 (2)VTK文件读写示例 2.6 保存为PNG 参考文章:PCL函数库

    2023年04月22日
    浏览(44)
  • 3D点云处理:Opencv Pcl实现深度图转点云(附源码)

    订阅说明:如果要订阅,先看链接内容 看链接内容 看链接内容:订阅先看此内容 文章目录: 3D视觉个人学习目录 处理结果 文章中提供的深度图像,深度图像一般以.tiff和.png保存,可以通过Opencv中的

    2024年02月09日
    浏览(41)
  • PCL - 3D点云配准(registration)介绍

    前面多篇博客都提到过,要善于从官网去熟悉一样东西。API部分详细介绍见 Point Cloud Library (PCL): Module registration 这里博主主要借鉴Tutorial里内容(博主整体都有看完) Introduction — Point Cloud Library 0.0 documentation 接下来主要跑下Registration中的sample例子 一.直接运行下How to use iter

    2024年02月12日
    浏览(54)
  • PCL 改进点云双边滤波算法

    我们先来回顾一下之前该算法的计算过程,在二维图像领域中,双边滤波算法是通过考虑中心像素点到邻域像素点的距离(一边)以及像素亮度差值所确定的权重(另一边)来修正当前采样中心点的位置,从而达到平滑滤波效果。同时也会有选择性的剔除部分与当前采样点“差异”

    2024年02月07日
    浏览(42)
  • (学习笔记)PCL点云库的基本使用

    目录 前言 1、理解点云库 1.1、不同的点云类型 1.2、PCL中的算法 1.3、ROS的PCL接口 2、创建第一个PCL程序 2.1、创建点云 2.2、加载点云文件 2.3、创建点云文件 2.4、点云可视化 2.5、点云滤波和下采样 2.5.1、点云滤波  2.5.2、点云下采样 2.6、点云配准与匹配         点云是一种

    2023年04月08日
    浏览(31)
  • 利用PCL实现点云绕质心旋转

    PCL中点云旋转都是绕原点旋转的,要绕质心旋转,则应该先将点云质心移至原点,绕原点旋转后,再将点云质心移回原来的位置,便达到了点云绕质心旋转的目的。 PCL中的旋转平移代码如下:

    2024年02月05日
    浏览(36)
  • PCL 快速计算点云的法向量

      PCL中计算点云法向量的方法采用的是Eigen库中的矩阵分解法,在阅读Open3D源码时发现Open3D集成了一种快速计算法向量的方法,该方法采用的文献A robust algorithm for finding the eigenvalues and eigenvectors of 3 × 3 symmetric matrices中提到的数值优化算法。   仔细研究该论文会发现其计

    2024年02月07日
    浏览(41)
  • PCL 使用LCCP算法进行点云分割

      LCCP是Locally Convex Connected Patches的缩写,算法大致可以分成两个部分: 基于超体聚类的过分割。 在超体聚类的基础上再聚类。 /

    2024年02月12日
    浏览(51)
  • 《QT+PCL》点云的点选与框选

    点选

    2024年02月12日
    浏览(37)
  • 《QT+PCL 第五章》点云特征-PFH

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包