pcl
文章平均质量分 87
全栈大王
这个作者很懒,什么都没留下…
展开
-
PCL入门
pcl的入门本博客主要是对外文的翻译,及其他资料的一些整理。pcl 分割成好几个模块的库Filters(滤波器)Features(特征)Keypoints(关键点)Registration(注册)KdTree:k-dimension tree(k维的树)OcTree(八叉树)Segmetation(分割)Sample Consensus(采样一致)Sur原创 2016-04-04 15:59:23 · 16744 阅读 · 3 评论 -
从深度图里面导出边界
这次我们将学着怎么从一个深度图里面导出边界。我们对3种不同种类的点很感兴趣:物体的边框的点,阴影边框点,和面纱点(在障碍物边界和阴影边界),这是一个很典型的现象在通过雷达获取的3D深度。下面是代码/* \author Bastian Steder */#include #include #include #include #include #includ原创 2016-04-13 22:03:26 · 20217 阅读 · 2 评论 -
pcl使用通道滤波器来滤波
这次我们将展示一个简单的滤波的案例--把不符合的值去掉代码#include #include #include int main (int argc, char** argv){ pcl::PointCloudpcl::PointXYZ>::Ptr cloud (new pcl::PointCloudpcl::PointXYZ>); pcl::PointCloudpcl原创 2016-04-10 20:29:40 · 19683 阅读 · 0 评论 -
用体元滤波器进行降低采样
我们这次用voxel filter(体元滤波器)来滤波#include #include #include #include intmain (int argc, char** argv){ pcl::PCLPointCloud2::Ptr cloud (new pcl::PCLPointCloud2 ()); pcl::PCLPointCloud2::Ptr cloud原创 2016-04-10 21:08:08 · 9988 阅读 · 0 评论 -
使用统计异常消除滤波器来消除异常
激光扫描可以生成很多点云的数据集。并且,测量误差会导致一些稀疏的异常值使得结果更差。这使得局部点云特征估计变得更加的复杂,产生一些错误的值,使得点云的识别失败。有些不规则的数据可以通过数理统计的方法来消除。我们稀疏异样消除是以计算输入集的点的近邻分布来进行的。我们假设分布是标准正太分布,所有在分布区间外的点都被当成异常点。下面的图展示了稀疏异常分析与消除,原来的数据集在左边,结果在右边。下面的图显原创 2016-04-10 23:12:14 · 11013 阅读 · 2 评论 -
以相关组为基础的3D物体识别
这次我们要解释如何以pcl_recognition模块来进行3D物体识别。特别地,它解释了怎么使用相关组算法为了聚类那些从3D描述器算法里面把当前的场景与模型进行匹配的相关点对点的匹配。(长难句)。对于每一次聚类,描绘了一个在场景中的可能模型实例,相关组算法也输出标识6DOF位姿估计的转换矩阵。代码#include #include #include #include #i原创 2016-04-13 23:19:24 · 20721 阅读 · 0 评论 -
隐式形状模型
在这次我们将学会隐式形状模型算法通过pcl::ism::ImplicitShapeModel这个类来实现。这个算法是把Hough转换和特征近似包进行结合。有训练集,这个算法将计算一个确定的模型用来预测一个物体的中心。这个算法由两部分组成,第一部分是训练,第二部分是物体识别。它有以下6步:1.先发现特征点。这只是一个训练点云的简化。在这个步骤里面所有的点云都将被简化,通过体元栅格这个途径。余原创 2016-04-14 18:05:56 · 5230 阅读 · 2 评论 -
3D物体识别的假设检验
3D物体识别的假设验证这次目的在于解释如何做3D物体识别通过验证模型假设在聚类里面。在描述器匹配后,这次我们将运行某个相关组算法在PCL里面为了聚类点对点相关性的集合,决定假设物体在场景里面的实例。在这个假定里面,全局假设验证算法将被用来减少错误的数量。代码:在开始之前,你应该从Correspondence Grouping里面下载文件。下面是代码/* * Software原创 2016-04-14 23:29:37 · 12477 阅读 · 4 评论 -
怎么样递增的注册成对的点云
这次我们将使用Iterative Closest Point algorithm来递增的注册一系列的点云。这个主意来自于把所有的点云转换成第一个点云的框架,通过找到每个连续点云间最好的装换,并且计算整个点云的转换。你的数据集应该由重新排列的,在一个相同的框架里面重叠的点云构成。/* * Software License Agreement (BSD License) * *原创 2016-04-15 00:44:00 · 3908 阅读 · 1 评论 -
pcl从一个点云里面导出下标
我们这次将学着使用ExtractIndices滤波器来从一个分割算法中导出点的下标。为了不把这个项目复杂化,我们不会在这里解释分割算法。我们先建一个extract_indices.cpp代码#include #include #include #include #include #include #include #include #include原创 2016-04-11 19:03:06 · 11003 阅读 · 1 评论 -
用一个参数化的模型来投影点
这次我们将学着怎么通过一个参数化的模型进行投影。这个参数化的模型是通过一系列的系数---在这里是平面,相当于ax+by+cz+d=0下面是代码#include #include #include #include #include int main (int argc, char** argv){ pcl::PointCloudpcl::PointXY原创 2016-04-11 18:24:37 · 10804 阅读 · 1 评论 -
使用一个环境的或者半径异样消除器来进行异样消除
这个文档显示了在滤波模型里面如何使用几个不同的方法来消除点云里面的异常。第一步我们将使用一个环境消除滤波器来消除不满足环境条件的点云。然后我们将学会如何使用一个RadiusOutlierRemoval滤波器来消除在指定范围内没有达到指定数量邻居的点。代码 #include #include #include #include int main (int ar原创 2016-04-11 19:41:40 · 10167 阅读 · 0 评论 -
从一个点云里面创建一个深度图
这次,我们将显示如何从一个点云和一个给定的传感器来创造深度图。下面的代码,创建了一个在观察者前面的矩形。#include int main (int argc, char** argv) { pcl::PointCloudpcl::PointXYZ> pointCloud; // Generate the data for (float y=-0.5f; y0原创 2016-04-13 20:36:30 · 24610 阅读 · 0 评论 -
通过八叉树进行空间分割和搜索
一个octree是一个以树基础为的管理稀疏3-D数据的数据结构。每个中间的节点有8个子节点。在这次,我们将学习怎么使用octree进行稀疏分割和近邻搜索。尤其,我们将解释如何操作"体元近邻搜索",和"最近邻搜索"和"半径近邻搜索".我们将创建一个octree_search.cpp这个文件#include #include #include #include #include原创 2016-04-13 19:38:09 · 25820 阅读 · 0 评论 -
pcl里面的RoPs特征(Rotational Projection Statistics)
这次我们将使用pcl::ROPSEstimation这个类来导出点的特征。下面是这个方法的特征提取方式。有一个网格和一个点集可以让我们来执行一些简单的操作。第一步,对于一个给定的兴趣点局部的表面将会被削平。局部表面包含了在半径内的点和三角形。对于给定的局部表面LRF将被计算。LRF是向量的3个组之一。真正重要的是使用那些具有旋转不变的向量。为了做到这一点,我们把感兴趣的点作为原点来做转换,再这原创 2016-04-10 00:58:14 · 23078 阅读 · 8 评论 -
pcl的初步使用(ROS)
ROS里面已经预装好了pcl,和一些与pcl之间的转换,我们接下来看看如何在ros里面使用pcl原创 2016-04-04 17:29:32 · 30565 阅读 · 2 评论 -
pcl点云PCD文件
csdn离线状态下不能保存,白写了。然后我把官网链接发给你们,自己看吧,累觉不爱.....点击打开链接原创 2016-04-12 00:43:18 · 10473 阅读 · 0 评论 -
pcl里面的法线估计
法线估计是一个很重要的特征,常常在被使用在很多计算机视觉的应用里面,比如可以用来推出光源的位置,通过阴影与其他视觉影响。给一个几何表面,去推断给定点的法线方向,即垂直向量的方向往往是不容易的。然而,在我们获取物体表面的点云数据后,有两大选择:1.从已获取的点云数据集中得到潜在表面,并用表面网格化技术,来计算网格的表面法线。2.使用近似值来推断点云数据集的表面法线。尽管有很多法线估计原创 2016-04-08 21:48:29 · 23398 阅读 · 14 评论 -
pcl通过积分图来进行法线预测
首先,我们来看一下什么是积分图,我查了一下wiki,发现它的定义是这样的。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 image原创 2016-04-09 11:01:39 · 11334 阅读 · 0 评论 -
pcl里面的3D特征
我这里不介绍pcl里面的类的命名规范,及点的类型。为什么呢?pcl里面类的命名规范,比较繁琐,而且主要是针对要对pcl这个库要开源的人士,而pcl里面的点的类型太多,足够满足你的要求。所以我们要走一条具有中国特色的pcl主义道路。今天来介绍一下pcl里面的3D特征。点是用来给一个给定区域来用笛卡尔坐标系x,y,z来进行描绘的一种方式。假定坐标系统的坐标原点没有变,可能会有两个点比如p1和p原创 2016-04-08 11:10:59 · 13671 阅读 · 0 评论 -
点云文件的操作
读取点云文件#include #include #include intmain (int argc, char** argv){ pcl::PointCloudpcl::PointXYZ>::Ptr cloud (new pcl::PointCloudpcl::PointXYZ>); if (pcl::io::loadPCDFilepcl::PointXYZ> ("te原创 2016-04-12 16:23:59 · 10269 阅读 · 0 评论 -
pcl里面使用KdTree来搜索
下面这个教程我们将学会怎么用KdTree找一个特殊点附近的K个最近邻,然后我们也将复习怎么通过一个特殊的半径来找里面所有的近邻。一个k-d树,或者k维的树是一个计算机科学里面的数据结构。它是一个有其它约束影响的二叉搜索树。K-d树是在深度和最近邻搜索里面很有用的。我们这次的目的是生成一个3维的k-d trees。一个k-d tree的每个层次在某个维度上分割成所有的子树,使用一个垂直于相应坐标原创 2016-04-12 17:00:29 · 28738 阅读 · 4 评论 -
pcl里面的点特征直方图(PFH)
表面法线和曲率可以好的代表一个点的几何特征。然而它们算得很快,而且算法简单,但是它们不能捕获细节,它们只是点的近邻的几何特征的近似估计。作为一个直接的结论,大多数的场景往往会包括很多有着相似特征的点,这会减少它们所带来的消息量。这次我们将引进一个叫做PFH(point feature histgrams)的3D特征描述器,同时还将显示出它的一些理论优势,并讨论它的一些实现细节。PFH的目标原创 2016-04-09 12:22:59 · 20218 阅读 · 3 评论 -
快速特征点直方图描述器(FPFH)
PFH的理论上的时间复杂度是O(nk的平方),n是点的数量,k是最近邻的个数。对于实时系统来说,这压根就是不行的,所以作为PFH规划的简化版本,FPFH把计算复杂度减少成O(nk),但是还具有很好的和PFH差不多的区分能力。第一步我们先计算了每个查询点Pq的一系列值,并把它叫做SPFH(Simplified Point Feature Histgram)第二步每个点的最近邻是重新分配,SP原创 2016-04-09 16:22:13 · 23188 阅读 · 7 评论 -
点集的视点特征直方图的评估
VFH(Viewpoint Feature Histgram)视角特征直方图描述器,可以很直观的表现点的聚类在处理聚类识别与6DOF位姿估计。下面的图像展示了一个VFH识别和位姿估计的例子。给一些训练集,除了左下角的那个杯子,用来学习,用左下角的杯子作为检测。VFH源于FPFH描述器,因为它的速度与区别能力,我们决定利用FPFH的识别结果,但是在保持比例不变的情况下增加了一个视角变量。原创 2016-04-09 18:29:33 · 13973 阅读 · 1 评论 -
从一个深度图里面导出NARF特征
本节将显示如何提取出NARF关键点通过NARF描述器从一个深度图里面。原创 2016-04-09 20:34:26 · 6939 阅读 · 1 评论 -
惯性矩和偏心距描述器
这次我们将学会怎么使用pcl::MomentOfInertiaEstimation 这个类来获取以惯性矩和偏心距为基础的描述器。这个类也能提取坐标对称和定向包围的方形盒子。但是记住导出的OBB不是最小可能性的盒子。下面介绍了该种方法的特征提取方式。第一次先算出点云矩阵的协方差,计算它的特征值和特征向量。然后把特征向量进行归一化处理,并把它组成右手坐标系。每一步都会迭代一次。每一次迭代特征向量都原创 2016-04-10 00:04:43 · 8526 阅读 · 3 评论