PCL点云库 点云拼接
点云拼接有2种方式:两个点云的点数相加,和两个点云的维度相加。
(1)点数相加
当两个点云的维度(字段)相同时,两个点云可以通过数学符号"+"拼接,形成新的点云,新的点云维度(字段不变),点数为两个点云的点数之和,例如:
pcl::PointCloudpcl::PointXYZ> cloud_a;
pcl::PointCloudpcl::PointXYZ> cloud_b;
cloud_a的数据为:
1,1,1
2,2,2
cloud_b的数据为:
3,3,3
4,4,4
5,5,5
此时,cloud_a和cloud_b的维度为都为3(x,y,z),不同的是cloud_a的点数是2,cloud_b的点数是3,这时,执行
pcl::PointCloudpcl::PointXYZ> cloud_c = cloud_a + cloud_b;
则cloud_c的数据为:
1,1,1
2,2,2
3,3,3
4,4,4
5,5,5
cloud_c的维度(字段)还是3(x,y,z),但是点数变为2+3=5。
(2)维度相加
当两个点云的维度(字段)不同,但是点数相同时,可以通过函数pcl::concatenateFields将两个点云拼接,形成新的点云, 新的点云维度数变为两个点云的维度数之和,点数不变,例如:
pcl::PointCloudpcl::PointXYZ> cloud_a;
pcl::PointCloudpcl::Normal> cloud_b;
cloud_a的数据为:
1,1,1
2,2,2
cloud_b的数据为:
3,3,3
4,4,4
此时,cloud_a维度为都为3(x,y,z),cloud_b的维度为也为3(normal[0],normal[1],normal[2]),cloud_a和cloud_b的点数都是2,这时,执行
pcl::PointCloudpcl::PointNormal> cloud_c;
pcl::concatenateFields(cloud_a, cloud_b, cloud_c);
则cloud_c的数据为:
1,1,1,3,3,3
2,2,2,4,4,4
cloud_c的维度(字段)变为6(x,y,z,normal[0],normal[1],normal[2]),但是点数仍然为2。
PCL点云库 点云拼接相关推荐
- (学习笔记)PCL点云库的基本使用
目录 前言 1.理解点云库 1.1.不同的点云类型 1.2.PCL中的算法 1.3.ROS的PCL接口 2.创建第一个PCL程序 2.1.创建点云 2.2.加载点云文件 2.3.创建点云文件 2.4. ...
- 一文详解点云库PCL
3D is here: Point Cloud Library (PCL) 摘要: 随着新型,低成本的3D传感器硬件的出现(例如Kinect),以及科研人员在高级点云处理研究上的不断努力,3D感知在机 ...
- 编译安装PCL点云库,Kinect2驱动,乐视Astra相机驱动
编译安装PCL点云库 安装方法一 3d点云安装 apt-cache cearch pcl 安装 sudo apt install 上面查出来的 opencv不建议用以上方法因为需要 安装 opencv ...
- ubuntu pcl 点云库使用
pcl 点云库使用(cmakeList.xtx) cmake_minimum_required(VERSION 2.6) project(pcl_test) find_package(PCL 1. ...
- PCL点云库:ICP算法
ICP(Iterative Closest Point迭代最近点)算法是一种点集对点集配准方法.在VTK.PCL.MRPT.MeshLab等C++库或软件中都有实现,可以参见维基百科中的ICP Alg ...
- PCL点云库(Point Cloud Library)简介
PCL点云库(Point Cloud Library)简介 什么是PCL PCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了 ...
- 点云库PCL学习笔记 -- 点云滤波Filtering -- 3. StatisticalOutlierRemoval 统计滤波器
点云库PCL学习笔记 -- 点云滤波Filtering -- 3.StatisticalOutlierRemoval 统计滤波器 StatisticalOutlierRemoval 统计滤波器相关简介 ...
- 《PCL点云库学习VS2010(X64)》Part 34 旋转平移矩阵用法
<PCL点云库学习&VS2010(X64)>Part 34 旋转平移矩阵用法 1.变换与投影矩阵讲解: https://en.wikipedia.org/wiki/Transfor ...
- Kinectfusion开源实现_配置Kinfu环境_Cmake编译PCL点云库_Kinect3D重建
Kinectfusion开源实现-配置Kinfu环境-Cmake编译PCL点云库 注: 1.此教程在win10_x64.VS2010_x86环境下,配置运行Kinfu.编译PCL点云库成功,其他环境也 ...
最新文章
- 使用let替换var实现块级作用域的小发现
- linq学习笔记(2):DataContext
- 平板电脑怎么投屏到电视上_电脑屏幕投屏到平板、IPAD、艾派德
- 关于jenkins的安装及自动部署
- Linux内核:关于中断你需要知道的【转】
- LeetCode 475. Heaters
- 什么是分布式任务调度
- java金字塔的流程图,R中的金字塔图
- 工作92:500错误
- 05.序列模型 W2.自然语言处理与词嵌入
- linux网卡为啥叫ens160这些,centos8将网卡名ens160修改为eth0
- 程序员谨防加班猝死之十大建议(转)
- idesk卸载教程_iDesk助手使用帮助
- Android开发案例源码解析之使用sqlite数据库记录并读取GPS信息
- 计算机基础到底是哪些基础?为什么很重要!
- 李一男起伏人生如高速过山车 栽大跟头后还回得来吗
- metasequoia :Summoner
- 8个重要的电子邮件黑名单及如何从黑名单中删除?
- NLP 实战 (7) | 热榜算法更新
- 常见的数据埋点方式介绍