#include <iostream> #include <pcl/io/pcd_io.h> #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) { 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); 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; return(0); }
这里类比读取
cloud.is_dense=false;就是点云是否是稠密点云。
for(size_t i=0;i<cloud.points.size();++i)
{
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);
}
随机给cloud.points[i]赋值的过程。
pcl::io::savePCDFileASCII("test_pcd.pcd",cloud);保存为ASCII码的形式。
文章来源: https://blog.csdn.net/weixin_43384504/article/details/90715962