#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/io/obj_io.h>
#include <pcl/PolygonMesh.h>
int main(int argc, char** argv)
{
// 读取pcd文件
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::io::loadPCDFile("dianyun.pcd", *cloud);
// 转换成mesh
pcl::PolygonMesh mesh;
pcl::toPCLPointCloud2(*cloud, mesh.cloud);
// 储存到obj文件
pcl::io::saveOBJFile("dianyun.obj", mesh);
return 0;
}
CMakeLists.txt:
cmake_minimum_required(VERSION 2.6)
project(pcd_obj)
find_package(PCL 1.7 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_obj pcd_obj.cpp)
target_link_libraries (pcd_obj ${PCL_LIBRARIES})