- 博客(14)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
翻译 (十四)Visualization教程二
PCLPlotter类PCLPlotter类提供了一个十分直接简单的接口,通过它可以绘制各种图表,从多项式曲线图到直方图,从而不必要在使用MATLAB等软件来绘图了。我们下面就先从简单地画一个多项式曲线开始,逐步学习PCLPlotter类。画一个多项式曲线图步骤定义一个绘图器// 定义一个绘图器pcl::visualization::PCLPlotter * plotter = new pcl
2017-04-05 21:03:43 2365 3
翻译 (十三)Visualization教程一
CloudViewer如果你只是想简单的显示一幅点云,那么CloudViewer会是一个不错的选择。 注意CloudViewer类不能用在多线程实例头文件#include <pcl/visualization/cloud_viewer.h>程序pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud;//... populate cloudpcl::visu
2017-04-05 21:03:24 5892 1
翻译 (十一)OcTree教程三--OcTree在PCL中的应用-无序点云在空间中的动态检测
无序点云在空间中的动态检测在这篇教程中我们会学到如何用八叉树实现对多幅无序点云在空间变化上的检测。这里说的空间变化包括了点云的大小,分辨率,密度和点序。通过递归得比较八叉树的树结构,空间上的变化会从体素的配置参数上看出来。此外,我们解释了如何使用pcl八叉树的“双缓冲(double buffering)”技术来让我们高效地每次处理多幅点云。步骤对无序点云在空间变化上的检测,其实是对前后两幅点云在八叉
2017-04-05 21:02:52 4696
翻译 (十二)OcTree教程四--OcTree在PCL中的应用-点云压缩
点云压缩点云带有大量的数据,不仅包括三维信息,还有额外的距离,颜色,法向量等等。此外,点云可以快速生成,这会占有大量的内存资源。一旦点云必须被存储或者用于通信传输,对于点云的压缩技术就显得十分重要了。PCL提供了点云压缩功能,它支持对各种类型点云的压缩,其中包括无序点云,此外,在八叉树结构下的数据支持高效地合并多个来自不同数据源的点云。 下面我们将一个点云进行压缩,压缩的结果是一个String
2017-04-05 21:02:04 7087 4
翻译 (十)OcTree教程二--OcTree在PCL中的应用-空间划分和近邻搜索
OcTree在PCL中的应用八叉树作为三维空间中点的重要数据结构在PCL中有很多应用,下面就分别从空间划分、近邻搜索、点云压缩和空间变化检测几个方面来介绍。空间划分和近邻搜索八叉树是将空间平均得分为8个部分,每个节点就是一个部分,我们假设三维空间是一个正立方体,每个节点就是一个小立方体。划分到最后,一个叶子结点代表一个最小的空间范围,我们称之为体素。八叉树的建立过程也就是空间划分的过程。 基于八叉
2017-04-05 21:01:32 8101 3
翻译 (九)OcTree教程一--OcTree原理介绍
OcTree原理介绍八叉树是一种用于描述三维空间的树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积元素加在一起就等于父节点的体积。八叉树是四叉树在三维空间上的扩展,二维上我们有四个象限,而三维上,我们有8个卦限。八叉树主要用于空间划分和最近邻搜索。 八叉树建立过程伪代码: (1). 设定最大递归深度 (2). 找出场景的最大尺寸,并以此尺寸
2017-04-05 21:00:57 14710
翻译 (八)k-dTree库教程二--k-d树在PCL中的应用
k-d树在PCL中的应用上一讲中,我们介绍了k-d树在二维上的原理,k-d树构建算法和k-d树是如何应用于最近邻查找算法的。对于PCL中的k-d树来说,只不过是将二维提升到了三维而已。下面我们就看看PCL是如何将k-d树应用于范围搜索和最近邻搜索的。 PCL中使用的k-d树的算法来自FLANN(Fast Library for Approximate Nearest Neighbors),它是目
2017-04-05 21:00:00 4029 1
翻译 (七)k-dTree库教程一--k-d树原理介绍
PCD文件操作本篇文章中会介绍对PCD文件的读写操作,点云的合并操作类型1. 读操作头文件:#include <pcl/io/pcd_io.h>关键函数:从硬盘加载一个PCD格式的模板点云template<typename PointT> inline int loadPCDFile (const std::string &file_name, pcl::PointCloud<PointT>
2017-04-05 20:57:59 4005
翻译 (六)IO库教程二--PCD文件操作
PCD文件操作本篇文章中会介绍对PCD文件的读写操作,点云的合并操作类型1. 读操作头文件:#include <pcl/io/pcd_io.h>关键函数:从硬盘加载一个PCD格式的模板点云template<typename PointT> inline int loadPCDFile (const std::string &file_name, pcl::PointCloud<PointT>
2017-04-05 20:55:12 3452
翻译 (五)IO库教程一--PCD(Point Cloud Data)文件格式
PCL中的3D特征PCD(Point Cloud Data)文件格式本文讲解了PCD(Point Cloud Data)的文件格式,还有在PCL中对它的用法PCD出现的背景PCD文件格式的出现,是为了弥补其他文件格式在PCL处理N维点云中的各种问题。 PCD不是第一种支持3D点云数据的格式: - PLY - 一种多边形文件格式 - STL - CAD软件得到的格式 - OBJ - 从几何学上
2017-04-05 20:53:15 2766
翻译 (四)利用矩阵对点云进行刚体变换
利用矩阵对点云进行刚体变换在这篇教程中,我们会学习如何用一个4*4的矩阵对点云进行变换。我们会加载一个点云,然后对其进行刚体变换(旋转加平移),最后显示结果。 程序/* * 功能: 点云刚体变换 * 头文件: #include <pcl/common/transforms.h> * 功能函数: pcl::transformPointCloud(*pPointCloudIn, *pPointC
2017-04-05 20:51:54 6941 3
翻译 (三)PCL中点的类型
PCL中点的类型使用PointT类型的原因最早,PCL的PointT是作为ROS中的一个库被开发出来的。大家一致认为点云(Point Cloud)是一个复杂的n维结构,能表示不同的类型的信息。然而,对于用户来说,为了使代码易于调试,便于优化等,应该知道什么样的信息需要被传递。 下面用对XYZ数据的简单操作来举例。对于支持SSE的处理器来说,最高效的方式就是将XYZ这三维数据以float的形式存储,
2017-04-05 20:49:21 6005 1
翻译 (二)PCL基本数据类型
PointCloud在PCL 1.x中最基本的数据类型就是PointCloud了。它是一个C++类,包含了如下的数据成员(括号中是这个数据的数据类型): - width(int) ==指定了点云数据中的宽度==。width有两层含义: - 可以指定点云的数量,但是只是对于无序点云而言。 - 指定有序点云中,一行点云的数量。 有序点云(organized point cloud )
2017-04-05 20:48:19 6446 2
翻译 (一)PCL总览
基本上都是官网上的东西翻译了一下,因为自己用的比较多,就当是学习和记录了。概述PCL被分成了许多模块化的库,下面是其中最重要的模块: 下面对各个模块进行介绍:滤波器(Filters)背景下图展示了一个去噪的例子。由于测量的误差,一些数据表现为背景点(shadow points)。这让获取点云的3D特征变得困难。其中的一些外点(outliers)可以通过对每个点的邻域进行静态分析判断出来,并将它
2017-04-05 20:46:26 3290 1
kinect+opengl 生成并显示点云
2017-04-05
unity在vs下调试插件
2016-06-04
UDP NAT穿透C++有没有什么好的工具或者库,我想在两个不同局域网的电脑中传数据
2017-02-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人