转自 http://blog.csdn.net/baidu_26408419/article/details/53931489?locationNum=2&fps=1
①代码:
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/io/obj_io.h>
#include <pcl/PolygonMesh.h>
#include <pcl/point_cloud.h>
#include <pcl/io/vtk_lib_io.h>//loadPolygonFileOBJ所属头文件;
using namespace pcl;
int main()
{
pcl::PolygonMesh mesh;
pcl::io::loadPolygonFileOBJ("d:\head1.obj", mesh);
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::fromPCLPointCloud2(mesh.cloud, *cloud);
pcl::io::savePCDFileASCII("d:\head1PCD.pcd", *cloud);
return 0;
}
②matlab R2017a新功能(可以互相转化带颜色的.ply <-> 带颜色的.pcd):
ptCloud = pcread(‘0.ply’); % read from a PLY file
pcwrite(ptCloud,'0.pcd');
③其他.stl,.obj,.ply,.xyz等三维格式互转方法:用软件meshlab打开例如.obj,在导出选项里面,选择你想要转化的格式(例如.ply),导出即可!转化十分简单!
(当然,你要是了解了.pcd或者.obj或者.ply或.xyz等文件格式的规则,不借助其他工具函数,自己用matlab等来写代码转化也是可以的,也不难。)