PLY格式点云转换为PCD格式的点云

大部分点云数据格式都是ply,为了便于在pcl中进行处理,要先将其转换为pcd格式。
我目前已经转换好了几个(斯坦福的bunny模型等),可以点此下载:
http://download.csdn.net/download/peach_blossom/10040549
奈何分享资源时最少要收2积分,所以贴上代码,大家可以自行转换。
斯坦福的著名小兔子模型的下载地址http://www.cc.gatech.edu/projects/large_models/

#include <iostream>
#include <pcl/common/io.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/PolygonMesh.h>
#include <vtkSmartPointer.h>
#include <vtkPolyData.h>
#include <pcl/io/pcd_io.h>
#include <pcl/io/vtk_lib_io.h>

using namespace std;

int main()
{
            pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>());
            pcl::PolygonMesh mesh;
            vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPolyData>::New();
            pcl::io::loadPolygonFilePLY("/projects/pcddata/horse.ply", mesh);
            pcl::io::mesh2vtk(mesh, polydata);
            pcl::io::vtkPolyDataToPointCloud(polydata, *cloud);
            pcl::io::savePCDFileASCII("/projects/pcddata/horse.pcd", *cloud);
            return 0;
}

最后放上一张图片:
PLY格式点云转换为PCD格式的点云_第1张图片

你可能感兴趣的:(pcl点云库)