PCL:合并两个点云

Posted 没事就要敲代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PCL:合并两个点云相关的知识,希望对你有一定的参考价值。

歪瑞easy,看一眼就会。

1 非指针形式

#include <pcl/io/pcd_io.h>

using namespace std;

typedef pcl::PointXYZRGB PointT;
typedef pcl::PointCloud<PointT> PointCloudT;

int main()

	PointCloudT cloud_a;
	PointCloudT cloud_b;
	PointCloudT cloud_c;
	pcl::io::loadPCDFile("a.pcd", cloud_a);
	pcl::io::loadPCDFile("b.pcd", cloud_b);

	cloud_c = cloud_a + cloud_b;

	pcl::io::savePCDFileBinary("c.pcd", cloud_c);
	
	return 0;

2 指针形式

#include <pcl/io/pcd_io.h>

using namespace std;

typedef pcl::PointXYZRGB PointT;
typedef pcl::PointCloud<PointT> PointCloudT;

int main()

	PointCloudT::Ptr cloud_a(new PointCloudT);
	PointCloudT::Ptr cloud_b(new PointCloudT);
	PointCloudT::Ptr cloud_c(new PointCloudT);
	pcl::io::loadPCDFile("a.pcd", *cloud_a);
	pcl::io::loadPCDFile("b.pcd", *cloud_b);

	*cloud_c = *cloud_a + *cloud_b;

	pcl::io::savePCDFileBinary("c.pcd", *cloud_c);

	return 0;

3 结果展示

两种形式的结果是一致的,如下图所示。

图1 a.pcd

图2 b.pcd

图3 合并后的点云c.pcd

以上是关于PCL:合并两个点云的主要内容,如果未能解决你的问题,请参考以下文章

vs2010 点云 pcl运行错误error2019

PCL:自定义点类型(合并PCL已有字段 | 添加新的字段)

PCL系列——拼接两个点云

PCL点云处理:getAngle3D 计算两个向量的夹角

PCL 点云基础数据结构源码解析

PCL系列——如何逐渐地配准一对点云