PCL库将ply文件转换成pcd文件

今天刚开始使用PCL库,但是被这个数据导入的格式整懵了

  • 记录一下PCL将PLY文件转换成PCD文件的方法吧
#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>
#include <pcl\io\ply_io.h>
using namespace std;
//方法1
void ply2pcd_fun1()
{
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>());
    pcl::PolygonMesh mesh;
    vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPolyData>::New();
    pcl::io::loadPolygonFilePLY("bun000.ply", mesh);
    pcl::io::mesh2vtk(mesh, polydata);
    pcl::io::vtkPolyDataToPointCloud(polydata, *cloud);
    pcl::io::savePCDFileASCII("bun000.pcd", *cloud);
}
//方法2
void ply2pcd_fun2()
{
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
    if (-1 == pcl::io::loadPLYFile("bun000.ply", *cloud)) { //引用ply文件
       cout << "error input!" << endl;
    }
    if (pcl::io::savePCDFile("bun000.pcd", *cloud) > 0)
    {
        std::cout << "finish!" << std::endl;
    }
}

int main()
{
    /*两种方法,任选一种即可*/

    ply2pcd_fun1();
    //ply2pcd_fun2();
    return 0;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值