点云的pcd、txt、ply之间的格式互转
1.新建一个文件夹,自命名
2.在新建文件夹中分别新建一个CMakeLists.txt文本文档,scr文件夹
3.在scr文件夹里新建pcd2txt.cpp、txt2pcd.cpp、pcd2ply.cpp、ply2pcd.cpp等cpp文件
各文档内容如下
(1)CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
set(CMAKE_BUILD_TYPE "Release")
# 添加c++ 11标准支持
set(CMAKE_CXX_FLAGS "-std=c++11 -O2")
find_package(PCL REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_executable (pcd2txt src/pcd2txt.cpp) #
target_link_libraries(pcd2txt ${PCL_LIBRARIES})
add_executable (txt2pcd src/txt2pcd.cpp) #
target_link_libraries(txt2pcd ${PCL_LIBRARIES})
add_executable (pcd2ply src/pcd2ply.cpp) #
target_link_libraries(pcd2ply ${PCL_LIBRARIES})
add_executable (ply2pcd src/ply2pcd.cpp) #
target_link_libraries(ply2pcd ${PCL_LIBRARIES})
(2).pcd2txt.cpp
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
using namespace std;
int main(int argc, char *argv[])
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
// Fill in the cloud data
if (pcl::io::loadPCDFile<pcl::PointXYZ>("map.pcd", *cloud) == -1)
{
PCL_ERROR("Couldn't read file chuli.pcd\n");
return (-1);
}
//for (size_t i = 0; i < cloud->points.size(); i++)
// std::cout << " "<

本文介绍如何使用PCL库实现点云格式之间的转换,包括从pcd到txt、从txt到pcd、从pcd到ply以及从ply到pcd的具体步骤和代码实现。
最低0.47元/天 解锁文章
992

被折叠的 条评论
为什么被折叠?



