读取点云数据的几种方式:
1) 头文件:
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
const char* pcdFileName = argv[1]; // 假定从命令行获取点云文件名
// 然后声明一个pcl::PointCloud类型变量,里面的点云类型为<pcl::PointXYZRGBA>
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGBA>);
// 利用pcl::io::loadPCDFile读取点云文件
if(pcl::io::loadPCDFile<pcl::PointXYZRGBA>(pcdFileName, *cloud) == -1)
2)
// PointCloud2类型版本较低,在ROS中使用
sensor_msgs::PointCloud2::Ptr cloud_blob (new sensor_msgs::PointCloud2)
pcl::PCDReader reader;
reader.read ("table_scene_lms400.pcd", *cloud_blob);