将PCD文件转化为PLY格式输出(QT+PCL)

环境

ubuntu 14.04
Qt 5.2.1
PCL 1.7

剩下的话不多说,直接放代码

pcd2ply.pro

QT       += core

QT       -= gui

TARGET = pcd2ply
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

INCLUDEPATH +=  \
         /usr/include/pcl-1.7 \
         /usr/include/pcl-1.7/pcl\
         /usr/include/eigen3  \
         /usr/include/boost

LIBS +=\
      /usr/lib/libpcl_common.so.1.7 \
      /usr/lib/libpcl_io.so.1.7 \
      /usr/lib/libpcl_io.so\
      /usr/lib/libpcl_io_ply.so.1.7\
      /usr/lib/libpcl_io_ply.so\
      /usr/lib/libpcl_visualization.so.1.7\
      /usr/lib/libpcl_visualization.so\
      /usr/lib/x86_64-linux-gnu/libboost_system.so

main.cpp

#include <QCoreApplication>

#include <pcl/io/pcd_io.h>
#include <pcl/io/ply_io.h>
#include<pcl/PCLPointCloud2.h>
#include<iostream>
#include<string>

using namespace pcl;
using namespace pcl::io;
using namespace std;

int PCDtoPLYconvertor(string & input_filename ,string& output_filename)
{
pcl::PCLPointCloud2 cloud;
if (loadPCDFile(input_filename , cloud) < 0)
{
cout << "Error: cannot load the PCD file!!!"<< endl;
return -1;
}
PLYWriter writer;
writer.write(output_filename, cloud, Eigen::Vector4f::Zero(), Eigen::Quaternionf::Identity(),true,true);
return 0;

}

int main(int argc, char *argv[])
{
       string input_filename = "/home/**/****.pcd";
       string output_filename = "/home/**/****.ply";

    PCDtoPLYconvertor(input_filename , output_filename);
    return 0;

}

主程序部分代码参考:
https://blog.csdn.net/ye_shen_wei_mian/article/details/50372806

猜你喜欢

转载自blog.csdn.net/qq_40313712/article/details/86554706