点云对象的声明
pcl::PointCloud<pcl::PointXYZ> cloud;//点云对象
pcl::PointCloud<pcl::PointXYZ>::Ptr cloudPtr
(new pcl::PointCloud<pcl::PointXYZ>);//点云指针对象
转换关系
cloud = * cloudPtr;
cloudPtr = cloud.makeShared();
示例
//点云输入
setInputCloud(cloudPtr);//setInputCloud(cloud.makeShared());
//点云滤波
filter(cloud);//fiter(*cloudPtr);
输入输出保存点云数据
// 定义相关变量
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_ptr (new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::PointXYZ>& cloud = *cloud_ptr; //点云
//初始化点云数据PCD文件头
cloud.width = depthHeight * depthWidth;
cloud.height = 1;
cloud.is_dense = false;
cloud.points.resize (cloud.width * cloud.height);
//显示重建得到的点云数据
pcl::visualization::CloudViewer viewer("Cloud Viewer");
viewer.showCloud(cloud_ptr);
//保存点云数据
pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);
std::cerr << "Saved " << cloud.points.size () << " data points to test_pcd.pcd." << std::endl;