PCL入门

pcl的入门

本博客主要是对外文的翻译,及其他资料的一些整理。

pcl 分割成好几个模块的库

Filters(滤波器)

Features(特征)

Keypoints(关键点)

Registration(注册)

KdTree:k-dimension tree(k维的树)

OcTree(八叉树)

Segmetation(分割)

Sample Consensus(采样一致)

Surface(表面)

Range Image(范围图)

I/O(输入输出)

Visualization(可视化)

Common(基础)

Search(搜索)


初步介绍


Filters

滤波器的作用是降噪。因为测量误差,一些数据表现出大量的阴影点(发虚的点),这使得后面的3D处理变得更加的复杂。有些异常的值可以通过统计学分析来进行滤波,来除去那些不符合要求的点。这些分布稀疏的点的处理在pcl里面是基于计算点的近邻分布。对于每一个点来说,每个点和他所有临近点的距离都会被计算。假设他们是呈现标准正态分布,那些平均距离大于全局距离标准正态分布的点都将被认为是异样点而去除。

Filters在linux下的位置

头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/

二进制文件:

$(PCL_PREFIX)/bin/


Features

特征库包含了一些3D特征评估的数据机构与机制。3D特征通过一些3D点云,位置,空间来代表。描述了以点旁边的平均信息基础的几何模式。下面的图展示了一个简单的例子,一个圈圈住了k个最近邻。

Features在linux下的位置

头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/features/

二进制文件:

$(PCL_PREFIX)/bin/


Keypoints

关键点库包含了两个主要的点云关键点算法。Keypoints(也称为感兴趣的点)是一些稳定的,有特色的,可以用作检测的点或者点云。这些keypoints小于所有点的个数,如果把他们与每个点上的特征描述器结合,就能组成一个简洁但是有代表性的描述原始数据的形式。


头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/ (你没有看错,就是这个库)

二进制文件:

$(PCL_PREFIX)/bin/



Registration

把几个数据集结合到一个总的数据集里面通常要使用一个叫做registration的技术。实现这个的关键的思想是鉴定数据之间相对应,找到使距离误差最小的转换。这个进程是重复的,因为一致性搜索往往受相对位置与角度的影响。只要误差一小于设定的误差,注册这个过程就宣告结束。registration 这个库可以对数据集进行多次操作,根据不同的一致性设置。(我的理解是你可以把对同样的数据,你可以设置不同的标准,你想可以让它结合得好一点,也可以让他结合得坏一点)。

头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/

二进制文件:

$(PCL_PREFIX)/bin/


Kd-tree


Kd-tree库包含了Kd-tree 数据结构,使用Flann,这使得它允许最近邻算法。

一个Kd-tree,是一个以空间为分割的数据结构存储了k维的点,使得可以进行有效率的范围搜索和最近邻搜索。最近邻搜索是一个核心操作,可以找到一组点的相关性或者定义一个点周围的近邻。

头文件:
$(PCL_PREFIX)/pcl-1.6/pcl/filters/
二进制文件
$(PCL_PREFIX)/bin/

Octree

Octree库包括了一些好的方法来创造分层的树的数据结构。这使得空间分割,缩减像素采样以及搜索操作成为可能。每一个八叉树要么就有8个子节点要么就没有。根节点描述了一个立方体的盒子,它压缩了所有的点。

头文件:
$(PCL_PREFIX)/pcl-1.6/pcl/filters/
二进制文件
$(PCL_PREFIX)/bin/

Segmentation
分割库包含了分割点云到明显聚类的算法。这些算法很适合处理由几个空间隔离的区域。

头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/
二进制文件
$(PCL_PREFIX)/bin/

Sample Consensus

Sample Consensus库包含了SAmple Consensus方法,比如RANSAC方法和像平面与圆柱体一样的模型。这些能被自由的结合用来检测特定的模型和他们的参数在点云里面。


头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/
二进制文件
$(PCL_PREFIX)/bin/


Surface

surface库处理与重构原来物体的表面。 Depending on the task at hand, this can be for example the hull, a mesh representation or a smoothed/resampled surface with normals.(这句话我翻译的不是很好,还是直接上原文吧)


头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/
二进制文件
$(PCL_PREFIX)/bin/


Range Image

range_image这个库包含两个类用来表示和使用range images.Range image又叫深度图,像素值代表了到传感器的距离。如果了解了摄像机的矫正系数,一个范围图就能被转换成点云。


头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/
二进制文件
$(PCL_PREFIX)/bin/

I/O

I/O库包含了读写点云文件(PCD:point cloud data),也包括了从传感器里面获取点云的的类和方法。

头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/
二进制文件
$(PCL_PREFIX)/bin/

Visualization

visualization库是用来根据点云数据快速建立模型与可视化点云数据。就像OpenCV里面的highgui程序用来显示2D图像一般。

头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/filters/
二进制文件
$(PCL_PREFIX)/bin/

Comman

common库包含了一般的数据结构和方法在大多数pcl库里面使用的。核心数据结构包括点云类和大多数的点云类型。也包含一些数值函数,比如计算距离/模,均值和方差,角度转换,几何转换等等。

头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/common/  (终于换了一个库了,对于linux真的有点奇怪)
二进制文件
$(PCL_PREFIX)/bin/

Search

search库提供了很多方法来搜索最近邻通过使用不同的数据结构。

头文件:

$(PCL_PREFIX)/pcl-1.6/pcl/search/
二进制文件
$(PCL_PREFIX)/bin/

Binaries

这里包含了一些快捷的引用对于一些常用的PCL里面的工具
pcl_viewer:一个快速的工具用来可视化PCD文件。
语法:pcl_viewer <file_name 1...N>.<pcd or vtk> <options>,选项可以是:
-bc r,g,b = background color
-fc r,g,b = foreground color
-ps X = point size (1..64)
-opaque X = rendered point cloud opacity (0..1)
-ax n = enable on-screen display of XYZ axes and scale them to n
-ax_pos X,Y,Z = if axes are enabled, set their X,Y,Z position in space (default 0,0,0)
-cam (*) = use given camera settings as initial view
(*) [Clipping Range / Focal Point / Position / ViewUp / Distance / Field of View Y / Window Size / Window Pos] or use a <filename.cam> that contains the same information.
-multiview 0/1 = enable/disable auto-multi viewport rendering (default disabled)
-normals 0/X = disable/enable the display of every Xth point’s surface normal as lines (default disabled) -normals_scale X = resize the normal unit vector size to X (default 0.02)
-pc 0/X = disable/enable the display of every Xth point’s principal curvatures as lines (default disabled) -pc_scale X = resize the principal curvatures vectors size to X (default 0.02)


Usage example:

pcl_viewer -multiview 1 data/partial_cup_model.pcddata/partial_cup_model.pcd data/partial_cup_model.pcd



pcd_convert_NaN_nan: converts “NaN” values to “nan” values.(Note: Starting with PCL version 1.0.1 the string representation for NaN is “nan”.)
Usage example:
pcd_convert_NaN_nan input.pcd output.pcd
convert_pcd_ascii_binary: converts PCD (Point Cloud Data) files from ASCII to binary and viceversa.
Usage example:
convert_pcd_ascii_binary <file_in.pcd> <file_out.pcd> 0/1/2(ascii/binary/binary_compressed) [precision (ASCII)]
concatenate_points_pcd: concatenates the points of two or more PCD (Point Cloud Data) files into a single PCD file.
Usage example:
concatenate_points_pcd <filename 1..N.pcd>
(Note: the resulting PCD file will be ``output.pcd``)
pcd2vtk: converts PCD (Point Cloud Data) files to the VTK format.
Usage example:
pcd2vtk input.pcd output.vtk
pcd2ply: converts PCD (Point Cloud Data) files to the PLY format.
Usage example:
pcd2ply input.pcd output.ply
mesh2pcd: convert a CAD model to a PCD (Point Cloud Data) file, using ray tracing operations.
Syntax is: mesh2pcd input.{ply,obj} output.pcd <options>, where options are:
-level X = tesselated sphere level (default: 2)
-resolution X = the sphere resolution in angle increments (default: 100 deg)
-leaf_size X = the XYZ leaf size for the VoxelGrid – for data reduction (default: 0.010000 m)
octree_viewer: allows the visualization of octrees
Syntax is: octree_viewer <file_name.pcd> <octree resolution>
Usage example:
Example: ./octree_viewer ../../test/bunny.pcd 0.02


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pcl里面的3D特征

我这里不介绍pcl里面的类的命名规范&#xff0c;及点的类型。为什么呢?pcl里面类的命名规范&#xff0c;比较繁琐&#xff0c;而且主要是针对要对pcl这个库要开源的人士&#xff0c;而pcl里面的点的类型太多&#xff0c;足够满足你的要求。所以我们要走一条具有中国特色的pcl主…

html本地缓存未查看信息,不同用户看到了相同的信息-一次web系统缓存问题的解决...

最近负责的系统总是出现奇怪的缓存问题&#xff0c;在这里简单记录一下碰到的问题和踩到的坑。问题&#xff1a;用户反映使用不同账号A&#xff0c;B登录时&#xff0c;都出现账号A的页面信息(未邮寄账单提示)。如下所示&#xff1a;图1&#xff1a;未邮寄账单提示一 session缓…

pcl里面的法线估计

法线估计是一个很重要的特征&#xff0c;常常在被使用在很多计算机视觉的应用里面&#xff0c;比如可以用来推出光源的位置&#xff0c;通过阴影与其他视觉影响。 给一个几何表面&#xff0c;去推断给定点的法线方向&#xff0c;即垂直向量的方向往往是不容易的。然而&#xf…

pcl通过积分图来进行法线预测

首先&#xff0c;我们来看一下什么是积分图&#xff0c;我查了一下wiki&#xff0c;发现它的定义是这样的。 A summed area table is a data structure and algorithm for quickly and efficiently generating the sum of values in a rectangular subset of a grid. In the i…

个人计算机的防毒软件无法防御,在win10系统中无法启动defender防御软件的解决方法...

软件大小&#xff1a; 3.56 MB软件版本&#xff1a; 3.3.30.180软件类型&#xff1a;系统补丁查看详情直接下载win10系统是我们现在都在使用的系统&#xff0c;下面小编为大家在win10系统中无法启动defender防御软件的解决方法,希望可以帮助到你们。解决方法&#xff1a;1、根据…

pcl里面的点特征直方图(PFH)

表面法线和曲率可以好的代表一个点的几何特征。然而它们算得很快&#xff0c;而且算法简单&#xff0c;但是它们不能捕获细节&#xff0c;它们只是点的近邻的几何特征的近似估计。作为一个直接的结论&#xff0c;大多数的场景往往会包括很多有着相似特征的点&#xff0c;这会减…

为什么计算机休眠风扇还转,Win7系统进入睡眠模式后电脑风扇还在转的解决方法...

如果长时间离开电脑&#xff0c;可以让win7系统进“睡眠”模式&#xff0c;这样可以节省能源&#xff0c;延长硬盘寿命。但是有位用户说自己Win7系统进入睡眠模式后&#xff0c;依旧可以听到风扇还在转&#xff0c;怎么回事呢&#xff1f;其实这是因为Win7处在低耗能的状态&…

快速特征点直方图描述器(FPFH)

PFH的理论上的时间复杂度是O(nk的平方)&#xff0c;n是点的数量&#xff0c;k是最近邻的个数。对于实时系统来说&#xff0c;这压根就是不行的&#xff0c;所以作为PFH规划的简化版本&#xff0c;FPFH把计算复杂度减少成O(nk),但是还具有很好的和PFH差不多的区分能力。 第一步…

计算机硬盘能达到5g的速度,5G号称可以达到几GB每秒,但是目前的手机处理器和硬盘可以处理这么庞大的数据量吗?...

感谢悟空的邀请&#xff01;“通信行业那些事儿”&#xff0c;专业解读通信、网络类问题&#xff0c;希望我的回答能够给您启发&#xff0c;大家共同探讨、共同提高&#xff01;欢迎关注我&#xff01;楼主您好&#xff01;这个问题&#xff0c;我正好是通信行业的从业人员&…

点集的视点特征直方图的评估

VFH(Viewpoint Feature Histgram)视角特征直方图描述器&#xff0c;可以很直观的表现点的聚类在处理聚类识别与6DOF位姿估计。 下面的图像展示了一个VFH识别和位姿估计的例子。给一些训练集&#xff0c;除了左下角的那个杯子&#xff0c;用来学习&#xff0c;用左下角的杯子作…

惯性矩和偏心距描述器

这次我们将学会怎么使用pcl::MomentOfInertiaEstimation 这个类来获取以惯性矩和偏心距为基础的描述器。这个类也能提取坐标对称和定向包围的方形盒子。但是记住导出的OBB不是最小可能性的盒子。 下面介绍了该种方法的特征提取方式。第一次先算出点云矩阵的协方差&#xff0c;…

mac os修改计算机名,如何修改Mac系统的个人用户名?

在Mac OS X中一旦建立一个用户&#xff0c;此用户的主目录的目录名将会是它的“短”名。更改登录名和主目录名从来都不简单&#xff0c;以前唯一的方法就是建立一个新用户&#xff0c;然后把所有的文件拷贝过去。Mac 修改用户是一件很悲剧的事&#xff0c;因为牵涉到很多地方的…

无线多串口服务器,多串口通信服务器

多串口通信服务器 ZLAN5G00A串口服务器是一款机架式16串口RS232/485/422和TCP/IP之间协议转化器。支持16个RS232串口、16个RS485、RS422串口&#xff0c;且RS232支持流控。通过一根网线连接到ZLAN5G00A&#xff0c;实现16个串口同时全双工工作&#xff0c;每路串口可作为TCP服务…

使用统计异常消除滤波器来消除异常

激光扫描可以生成很多点云的数据集。并且&#xff0c;测量误差会导致一些稀疏的异常值使得结果更差。这使得局部点云特征估计变得更加的复杂&#xff0c;产生一些错误的值&#xff0c;使得点云的识别失败。有些不规则的数据可以通过数理统计的方法来消除。我们稀疏异样消除是以…

为什么有的网站要改服务器才能打开吗,为什么有些网站进不了,怎样设置DNS才能进 – 手机爱问...

2006-12-24从22号起就进不了游戏。 按照官方的DNS地址也不行。 有没有广东深圳罗湖区的朋友能进的 麻烦把你们的DNS地址发给我 谢谢对于上述无法登陆游戏的玩家&#xff0c;《神泣》中国运营团队建议您尝试以下方式&#xff0c;通过修改个人电脑的DNS解析服务器地址&#xff0c…

用一个参数化的模型来投影点

这次我们将学着怎么通过一个参数化的模型进行投影。这个参数化的模型是通过一系列的系数---在这里是平面&#xff0c;相当于axbyczd0 下面是代码 #include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/ModelCoeffi…

云 文件 服务器 只存,云 文件 服务器只存

云 文件 服务器只存 内容精选换一换用户通过管理控制台创建或者导入密钥对后&#xff0c;在购买弹性云服务器时&#xff0c;登录方式选择密钥对&#xff0c;并选择创建或者导入的密钥对。用户购买弹性云服务器成功后&#xff0c;可使用密钥对的私钥登录弹性云服务器。使用的登录…

sr650服务器cpu型号,至强Gold 联想ThinkSystem SR650评测

今年7月&#xff0c;英特尔发布了至强可扩展处理器。面对新的处理器架构、新的AVX512指令集&#xff0c;需要新的服务器来匹配&#xff0c;需要更新机器&#xff0c;并提供新的软件、管理等套件。联想ThinkSystem SR650与至强可扩展处理器响应而出并被誉为“性能最高的服务器”…

使用一个环境的或者半径异样消除器来进行异样消除

这个文档显示了在滤波模型里面如何使用几个不同的方法来消除点云里面的异常。 第一步我们将使用一个环境消除滤波器来消除不满足环境条件的点云。然后我们将学会如何使用一个RadiusOutlierRemoval滤波器来消除在指定范围内没有达到指定数量邻居的点。 代码 #include <iost…

trailmakers未能连接服务器,Trailmakers联机版

《Trailmakers联机版》是一款可以联机进行的精美3D沙盒世界以创造为核心玩法的动作手游&#xff0c;这款游戏上手起来挺简单轻松的&#xff0c;诸多趣味内容&#xff0c;将让各位玩家们收获到极致的快感&#xff0c;非常的赞&#xff0c;不想错过任何欢乐与趣味的话&#xff0c…