代码:
#include <iostream>
#include <pcl/io/pcd_io.h> //PCD文件输入输出头文件
#include <pcl/point_types.h> //各种点云格式的支持头文件
int main(int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ> cloud;//创建点云对象
cloud.width = 5; //设置点云宽度
cloud.height = 1; //设置点云高度
cloud.is_dense = false; //非密集型
cloud.points.resize(cloud.width * cloud.height);
for (size_t i = 0; i < cloud.points.size(); ++i)//随机生成5个点云
{
cloud.points[i].x = 1024 * rand() / (RAND_MAX + 1.0f);
cloud.points[i].y = 1024 * rand() / (RAND_MAX + 1.0f);
cloud.points[i].z = 1024 * rand() / (RAND_MAX + 1.0f);
}
pcl::io::savePCDFileASCII("test_pcd.pcd", cloud); //将点云数据保存到PCD文件中
std::cerr << "Saved " << cloud.points.size() << " data points to test_pcd.pcd." << std::endl;
//显示点云数据
for (size_t i = 0; i < cloud.points.size(); ++i)
std::cerr << " " << cloud.points[i].x << " " << cloud.points[i].y << " " << cloud.points[i].z << std::endl;
system("pause");
return 0;
}
运行GIF: