点云库(PCL)学习

您所在的位置:网站首页 pcl点云显示单位修改为毫米 点云库(PCL)学习

点云库(PCL)学习

2024-07-16 10:54| 来源: 网络整理| 查看: 265

PCL1.x版本中的数据类型为: pcl:PointCloud PointCloud 是C++ 的一个类(class),包含了以下数据字段:

pcl:width(int) 以点数为单位指定点云数据集的宽度。宽度有两种含义: 可以为无组织数据集指定云中的点的总数(等于点中元素的数量–见下文);可以指定有组织点云数据集(organized point cloud)的宽度(行中的点总数)。

NOTE:有组织的点云数据集(organized point cloud)是为类似于有组织的图像(或矩阵)结构的点云指定的名称,其中数据被拆分为行和列。这种点云的例子包括来自立体相机或Time-of-flight相机的数据。有组织的数据集的优点是,通过了解相邻点(如像素)之间的关系,最近邻操作更加有效,从而加快了计算速度,降低了PCL中某些算法的成本。

NOTE:可投影点云数据集(projectable point cloud)是指根据针孔摄影机模型在有组织点云中的点(u,v)索引与实际三维值之间具有相关性的点云的名称。这种相关性可以用最简单的形式表示:u=fx/z和v=fy/z 例如:

cloud.width = 640;//there are 640 points per line pcl:height(int) 以点数为单位指定点云数据集的高度。高度有两种含义: 可以指定有组织点云数据集(organized point cloud)的高度(行的总数)。对于无组织的数据集,它设置为1(因此用于检查数据集是否为有组织的) 例如: cloud.width = 640;//Image-like organized structure, with 480 rows and 640 colums cloud.height = 480;//thus 640*480=307200 points total in the dataset cloud.width = 307200; cloud.heigth = 1;//unorganized point cloud dataset with 307200 points pcl:points(std::vector< PointT >) 包含存储PointT类型的所有点的数据数组。例如,对于包含XYZ数据的点云,点包含pcl::PointXYZ元素的向量: pcl::PointCloud cloud; std::vector data = cloud.points; pcl:is_dense(bool) 指定点中的所有数据是有限的(true),或者指定某些点的XYZ值可能包含Inf/NaN值(false)。pcl:sensor_origin(Eigen::vector4f) 指定传感器采集姿势(原点/平移)。这个成员通常是可选的,PCL中的大多数算法都不使用它。pcl:sensor_orientation(Quaternionf) 指定传感器采集姿势(方向)。这个成员通常是可选的,PCL中的大多数算法都不使用它。

为了简化开发,pcl:PointCloud类钟包含许多辅助成员函数。例如,用户不必检查代码中的height是否等于1,以查看数据集是否为有组织,而是使用:pcl:PointCloud:

if (!cloud.isOrganized ()) ... Reference

Getting Started / Basic Structures



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3