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,一经查实,立即删除!

相关文章

台式电脑怎么看计算机型号,怎么查看台式机的型号

电脑配置有很多&#xff0c;很多人在买电脑总是觉得配置和商家说的不是一样的&#xff0c;下面就让小编教大家台式机怎么查看型号和配置。查看台式机型号和配置的方法金山卫士查看首先打开自己电脑的安全卫士软件&#xff0c;其实卫士都有这种功能的&#xff0c;我这里实用的是…

pcl的初步使用(ROS)

ROS里面已经预装好了pcl&#xff0c;和一些与pcl之间的转换&#xff0c;我们接下来看看如何在ros里面使用pcl.。 总的来说&#xff0c;PCL包含了一个很重要得到数据结构&#xff0c;叫PointCloud&#xff0c;这是一个模板类&#xff0c;把点的类型作为模板参数。 下面是最重要…

四川大学计算机学硕分数线,川大计算机考研分数线

川大计算机考研分数线&#xff1f;2016高考志愿填写&#xff0c;高考考生家长有开端着手预备吗 厚学网收拾了对于普通高校招生填写志愿的有关诀窍&#xff0c;供考生和家长参阅。绝密:高考填报志愿有技巧!志愿填报需要注意的细节问题&#xff1a;语种有限制在咱们要学习的外语语…

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;用左下角的杯子作…

计算机电路基础答案,计算机电路基础模拟试卷答案(B)

计算机电路基础》复习题型模拟试卷《计算机电路基础》模拟考试试卷答案(B)一、填空题(1) 场效应管3个电极G、D、S其功能与晶体三极管的 B、C、E 电极相对应&#xff0c;而N沟道和P沟道场效应管则分别类同于 NPN型、PNP型 两种类型的晶体三极管。(2) 触发器分为边沿触发和 脉冲 …

从一个深度图里面导出NARF特征

本节将显示如何提取出NARF关键点通过NARF描述器从一个深度图里面。 以下是一段代码 #include <iostream>#include <boost/thread/thread.hpp> #include <pcl/range_image/range_image.h> #include <pcl/io/pcd_io.h> #include <pcl/visualization/…

计算机综合症怎么治,电脑综合症的治疗方法有哪些?

眼保健操(1)操作时保证正确坐姿&#xff0c;尽可能保持自然的端坐位&#xff0c;将后背坐直&#xff0c;并保持颈部的挺直。两肩自然下垂&#xff0c;上臂贴近身体&#xff0c;手肘弯曲成90度&#xff0c;操作键盘或鼠标&#xff0c;应使手腕保持水平。电脑的摆放高度要适度&am…

惯性矩和偏心距描述器

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

孕妇能长期在计算机屏幕前工作吗,怀孕了在电脑前工作怎么办

导读:我们自然界的一切物体&#xff0c;只要温度在绝对温度零度以上&#xff0c;都会以电磁波的形式不停地向外传送热量&#xff0c;这种传送能量的方式被称为辐射&#xff0c;我们生活中常见的就是受到电脑的辐射&#xff0c;怀孕期间应该避免电脑的辐射&#xff0c;不然就会对…

pcl里面的RoPs特征(Rotational Projection Statistics)

这次我们将使用pcl::ROPSEstimation这个类来导出点的特征。 下面是这个方法的特征提取方式。有一个网格和一个点集可以让我们来执行一些简单的操作。第一步&#xff0c;对于一个给定的兴趣点局部的表面将会被削平。局部表面包含了在半径内的点和三角形。对于给定的局部表面LRF…