ply转pcd
将一个文件夹 “D:\数据集\Armadillo_scans\Armadillo_scans\” 中的多个ply文件都转换为pcd格式
#define _SCL_SECURE_NO_WARNINGS
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/io/ply_io.h>
#include<pcl/io/vtk_lib_io.h>
#include <pcl/io/vtk_io.h>
#include <vtkPolyData.h>
#include <vtkSmartPointer.h>
#include <pcl/visualization/cloud_viewer.h>
#include <vector>
#include <string>
using namespace pcl;
using namespace pcl::io;
using namespace pcl::console;
using namespace std;
int main()
{
//ply文件转化为pcd文件
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud1(new pcl::PointCloud<pcl::PointXYZRGB>());
pcl::PolygonMesh mesh;
vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPolyData>::New();
vector<int> b;
vector<string> a = { "30","60","90","120","150","180","210","240" ,"270","300","330"};
for (int i = 0; i < a.size(); i++)
{
pcl::io::loadPolygonFilePLY("D:\\数据集\\Armadillo_scans\\Armadillo_scans\\ArmadilloStand_"+a[i]+".ply", mesh);
pcl::io::mesh2vtk(mesh, polydata);
pcl::io::vtkPolyDataToPointCloud(polydata, *cloud1);
pcl::io::savePCDFileASCII("D:\\数据集\\Armadillo_scans\\Armadillo_scans_pcd\\ArmadilloStand_" + a[i] + ".pcd", *cloud1);
}
}
pcd文件转txt文件 pcd转txt