点云的pcd、txt、ply之间的格式互转

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

点云的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 << " "<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值