PCL点云库学习笔记(基本结构)

PCL点云库学习笔记(基本结构)

基本用法

不知道怎么入门,就先从阅读官方文档开始了,记录下学习的过程和出现的错误。官方文档的walkthrough介绍了各个部分,学到的时候再细看

入门\基本结构

pcl::PointCloud<pcl::PointCloud>是基本的数据类型,PointCloud是一个c++的类,包含以下的数据:
1.pcl::PointCloud<pcl::PointCloud::width>width在无序数据集表示点的总数;在有序的点云数据集表示一行中的总点数。
2.pcl::PointCloud<pcl::PointCloud::height>在有序的点云数据集中表示总行数;无序的数据集中为1

cloud.width = 640; // there are 640 points per line
cloud.height = 480; // thus 640*480=307200 points total in the dataset

cloud.width = 307200;
cloud.height = 1; // unorganized point cloud dataset with 307200 points

要判断点云是否有序,不用判断height,用函数if (!cloud.isOrganized ())
3.pcl::points<pcl::PointCloud::points>points用于储存PointT类型点的向量,例如PointXYZ类型的点

pcl::PointCloud<pcl::PointXYZ> cloud;//PointXYZ类型的点储存到点云cloud
std::vector<pcl::PointXYZ> data = cloud.points;//cloud里的数据是储存在points里面的

4.pcl::is_dense<pcl::PointCloud::is_dense>bool类型,为真时表示所有点有限,为假时表示有些点可能无限或者为空

点的类型

1.PointXYZ 成员变量: float x, y, z;
定义一个点云

pcl::PointCloud<pcl::PointXYZ> cloud;
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_ptr(new pcl::PointCloud<pcl::PointXYZ>);//指针类型的

用points[i].data[0],或者points[i].x访问点的x坐标值,points是个vector变量,points[i]是单个的点

cloud->points[i].x
pcl::PointXYZ point;//创建一个点放到点云里去
point.x = 2.0f - y;
point.y = y;
point.z = z;
cloud.points.push_back(point);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值