因为PCL是开源的,所以无论是商用还是研究都是免费的;
赞助商有Open Perception, Willow Garage, NVIDIA, Google, Toyota, Trimble, Urban Robotics, Honda Research Institute, Sandia, Dinast, Optronic, Ocular Robotics, Velodyne, Fotonic, and MKE.

PCL历史

构成现在PCL算法基础的第一个算法,是由Dr. Radu Bogdan Rusu在德国慕尼黑工业大学读博士期间开发的,后来在2009年底由Willow Garage公司进一步开发完成。 Dr. Rusu的工作的目的是要为三维点云数据处理的研究及应用,建立出一个共同的基础架构。自从2010年3月开始,具有模块化库的想法开始初具雏形,并已经写了大量的工具,并作为机器人操作系统(ROS)框架的一部分,来帮助PR2机器人在复杂的3D环境中处理和导航。就这样,研究工作继续进行,但直到2010年11月才作出决定,开始建立一个称为PCL的新的独立项目,作为一个整体这将有利于提高3D领域的研究。
在2011年3月底,PCL迈出了第一步,作为一个独立项目推出了自己网页域名,并迅速得到如NVIDIA, Google, Toyota, and Trimble等公司的资金支持,之后仅仅三个月后,即在2011年6月,就得到了全世界超过120个开发者和贡献者的支持,在六大洲,拥有多达30个不同的大学,研究机构,商业公司对这个项目做着贡献。
今天,PCL继续发展,并且凝聚了全世界许多不同的研究人员和工程师在在同一框架下研究3D感知。

PCL版本

截至到目前,PCL的最新版本为PCL 1.7.1
PCL1.7.1(released on 2013.10.20)
pcl--v1.7.0 (released on 2013.06.23)
pcl--v1.6.0 (released on 2012.07.17)
pcl--v1.5.1 (released on 2012.02.22)
pcl--v1.4.0 (released on 2011.12.31)
pcl--v1.3.1 (released on 2011.11.30)
pcl--v1.3.0 (released on 2011.10.31)
pcl--v1.2.0 (released on 2011.09.30)
pcl--v1.1.1 (released on 2011.08.31)
pcl--v1.1.0 (released on 2011.07.18)
pcl--v1.0.1 (released on 2011.06.29)
pcl--v1.0.0 (released on 2011.05.11)
pcl--trunk (latest unstable devel - updated daily)

模块

pcl_filters 去除噪点
pcl_features 三维特征提取
pcl_registration 将点云融合到一个全局模型中
pcl_kdtree 基于FLANN的kdtree实现最近邻搜索
pcl_octree 基于八叉树实现最近邻搜索
pcl_segmentation 分割点云
pcl_sample_consensus 对点云进行拟合(线、面、园、球、柱面、平行线),拟合算法包括:
* SAC_RANSAC - RANdom SAmple Consensus
* SAC_LMEDS - Least Median of Squares
* SAC_MSAC - M-Estimator SAmple Consensus
* SAC_RRANSAC - Randomized RANSAC
* SAC_RMSAC - Randomized MSAC
* SAC_MLESAC - Maximum LikeLihood Estimation SAmple Consensus
* SAC_PROSAC - PROgressive SAmple Consensus
pcl_surface 从三维扫描重建表面,可以是mesh/convex hull/concave hull
pcl_range_image 深度图,由kinect获取后可转换为点云
pcl_io 输入输出,PCD (Point Cloud Data) 文件的读写,OpenNI的接口(没有实现微软SDK的接口)
pcl_visualization 类似于OpenCV中highgui的作用,基于VTK实现三维可视化(VTK是一个极其庞大的库)
PCL安装
Windows下VS2010可以直接下载傻瓜安装包
其他的IDE比较麻烦,需要下源代码,以及依赖库
必需的库有:
boost
Eigen
FLANN
可选项有:
VTK,用于pcl_visualization
QHull,用于pcl_surface
OpenNI,用于pcl_io
CUDA
Ubuntu下ROS安装
$sudo apt-get install ros-fuerte-pcl

P·C·L 了解的更多相关文章

  1. JavaWeb 后端 <二> 之 Servlet 学习笔记

    一.Servlet概述 1.什么是Servlet Servlet是一个运行在服务器端的Java小程序,通过HTTP协议用于接收来自客户端请求,并发出响应. 2.Servlet中的方法 public v ...

  2. HTML5 3D 粒子波浪动画特效DEMO演示

    需要thress.js插件:     http://github.com/mrdoob/three.js // three.js - http://github.com/mrdoob/three.js ...

  3. 排序算法----基数排序(RadixSort(L))单链表智能版本

    转载http://blog.csdn.net/Shayabean_/article/details/44885917博客 先说说基数排序的思想: 基数排序是非比较型的排序算法,其原理是将整数按位数切割 ...

  4. VC 中与字符串相关的宏 _T、TEXT,_TEXT、L 的作用

    CSDN原博文:http://blog.csdn.net/houkai363/article/details/8134787 遇到了:不能将参数 1 从“const char [5]”转换为“LPCT ...

  5. 排序算法----基数排序(RadixSort(L,max))单链表版本

    转载http://blog.csdn.net/Shayabean_/article/details/44885917博客 先说说基数排序的思想: 基数排序是非比较型的排序算法,其原理是将整数按位数切割 ...

  6. BZOJ 1212: [HNOI2004]L语言 [AC自动机 DP]

    1212: [HNOI2004]L语言 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1367  Solved: 598[Submit][Status ...

  7. latex均方极限符号l.i.m在lyx下的输入方法

    $\mathop{l.i.m}\limits_{x\to +\infty}$ 命令说明: 1.指定数学环境$$ 2.\mathop{l.i.m}指数学符号自定义为l.i.m 3.\limits_{x\ ...

  8. 求单链表L各结点的阶乘之和(c语言)

    链表需要用到指针 阶乘需要用到递归 链表中的注意事项: 1.链表L是否等于NULL ----------是循环结束的条件 2.链表L->Data ---------取链表L中各个结点的值 3.L ...

  9. 模仿迅L看看<音频播放器> 实现点击进度条,跳转播放

    <Style x:Key="btnFallback" TargetType="{x:Type Button}"> <Setter Proper ...

  10. 通过ipv6访问 g o o g l e

    Google.Youtube.Facebook等均支持IPv6访问,IPv4网络的用户大部分都无法访问,比如Gmail,Google Docs等等各种相关服务.而该类网站大部分均已接入IPv6网络,因 ...

随机推荐

  1. memcached 内存初始化与key-value存储

    本次笔记未涉及到slab的动态重新平衡分配 /**首先介绍一下一个跟内存相关的非常重要的概念,内存块类型数据结构:*/ typedef struct { unsigned int size; /* c ...

  2. 『cs231n』线性分类器损失函数

    代码部分 SVM损失函数 & SoftMax损失函数: 注意一下softmax损失的用法: SVM损失函数: import numpy as np def L_i(x, y, W): ''' ...

  3. python-day33--Process类中的方法及属性

    p.daemon = True -->守护进程,守护进程不可以再有子进程,并且主进程死守护进程就死,要写在p.start()之前 p.join() ---> 主进程等子进程执行完 之后再结 ...

  4. VS2015新建项目时,左侧面板空白的解决方法

    解决办法是: 1.进入"C:\Users\当前用户名(一般为administrator)\AppData\Local\Microsoft\VisualStudio\14.0" 2. ...

  5. Leetcode 73

    class Solution { public: void setZeroes(vector<vector<int>>& matrix) { vector<vec ...

  6. 生成图片验证码(.NET)

    一.生成随机字符串 方法一: public string CreateRandomCode(int codeCount) { string allChar = "0,1,2,3,4,5,6, ...

  7. 如何用Curl 来post xml 数据

    因为登陆服务升级,密码策略变更,以前的测试脚本中的用户密码已经不能登陆,试图通过API直接更改密码,一种是直接update,一种是change,使用curl的时候均未成功. 最后索性重新用curl命令 ...

  8. 管道pipe与dup结合使用,应用实例

    管道的一种常见用法:在父进程创建子进程后向子进程传递参数.例如,一个应用软件有一个主进程和很多个不同子进程. 主进程创建子进程后,在子进程调用exec函数执行一个新程序前,通过管道给即将执行的程序传递 ...

  9. en_a

      1◆ai ay ei     2◆ au aw ɔː     3◆ a   eɪ æ ɑː ɔː ʌ   4◆ ar   ɔː ɑː ɜː   5◆ al ɑː ɔː   6◆ are air   ...

  10. PHP:第一章——PHP中的goto语句和

    goto语句: <?php header("Content-Type:text/html;charset=utf-8"); /*goto语句:可以代替break*/ //例1 ...