以与Meshlab兼容的格式保存pcl :: PointCloud <pcl :: PointXYZRGB>

mrg*_*oom 3 point-cloud-library meshlab

PCL库中是否有任何功能可以保存pcl::PointCloud<pcl::PointXYZRGB> XYZRGB格式的点云,可以用Meshlab打开?

似乎pcl::io::savePCDFileASCII (filename, cloud);以某种特定方式存储RGB值.

小智 6

对我来说,如果我将它作为二进制格式的PLY文件存储,它是有效的.似乎Meshlab偶尔会遇到一些ASCII文件问题.这对我有用.

pcl::PointCloud<pcl::PointXYZRGB>::Ptr sceneCloud(new pcl::PointCloud<pcl::PointXYZRGB>);
//Fill cloud somehow...

std::string writePath = "your/path";
pcl::io::savePLYFileBinary(writePath, *sceneCloudPtr);
Run Code Online (Sandbox Code Playgroud)

  • 为我工作。“savePLYFileBinary”在“pcl/io/ply_io.h”中定义,我必须包含它。 (2认同)

Fin*_*811 1

您可以转换为 .ply、.obj 或任何其他支持的格式。查看pcd2plyPCL 中的演示,或者仅使用pcl::PLYWriter根据您的需要设置参数:

 pcl::PLYWriter writer;
 writer.write (filename, cloud, Eigen::Vector4f::Zero (),
               Eigen::Quaternionf::Identity (), binary, use_camera);
Run Code Online (Sandbox Code Playgroud)