PCL:读取指定路径下的pcd点云 | 将点云保存至指定路径

Posted 没事就要敲代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PCL:读取指定路径下的pcd点云 | 将点云保存至指定路径相关的知识,希望对你有一定的参考价值。

1 读取指定路径下的pcd点云

  • 读取项目路径下的pcd点云
pcl::io::loadPCDFile("test.pcd", *cloud)
  • 读取指定路径下的pcd点云,比如 D:\\PCL_learnCode\\registration\\ICP,注意需要添加转义字符\\
pcl::io::loadPCDFile("D:\\\\PCL_learnCode\\\\registration\\\\ICP\\\\test.pcd", *cloud)

或者

pcl::io::loadPCDFile("D:/PCL_learnCode/registration/ICPtest.pcd", *cloud)

2 将点云保存至指定路径

  • 将点云文件保存至项目路径下:
pcl::io::savePCDFileBinary("cloud_out.pcd", *cloud_out);
  • 将点云文件保存至指定路径下,比如 D:\\PCL_learnCode\\registration\\ICP,注意需要添加转义字符\\
pcl::io::savePCDFileBinary("D:\\\\PCL_learnCode\\\\registration\\\\ICP\\\\cloud_out.pcd", *cloud_out);

或者

pcl::io::savePCDFileBinary("D:/PCL_learnCode/registration/ICP/cloud_out.pcd", *cloud_out);

3 stringstream 字符串流

std::stringstream ss;
ss << "cloud_cluster_" << j << ".pcd";
writer.write(ss.str(), cloud_cluster, false);

这段代码为PCL欧式聚类官方源码中的一部分,用于将所有聚类保存至项目路径下。

stringstream 是字符串流,它将流与存储在内存中的string对象绑定起来。.str()用于会返回临时的string对象。

要想保存到指定路径下,只需将“cloud_cluster_”求改为具体的路径即可。
比如保存在D:\\PCL\\test路径下:

std::stringstream ss;
ss << "D:\\\\PCL\\\\test\\\\cloud_cluster_" << j << ".pcd";
writer.write(ss.str(), cloud_cluster, false); 

以上是关于PCL:读取指定路径下的pcd点云 | 将点云保存至指定路径的主要内容,如果未能解决你的问题,请参考以下文章

点云读写:读写pcd点云

PCL系列——拼接两个点云

c_cpp 如何将点云保存到pcd文件

PCL系列——如何逐渐地配准一对点云

点云配准 8-pcd与ply文件转换以及数据保存格式:ascll 和二进制转换

点云配准 8-pcd与ply文件转换以及数据保存格式:ascll 和二进制转换,txt->pcd