- Basic Usage(基本用法)
Basic Usage
PCL Walkthrough PCL浏览
Title: PCL Functionality Walkthrough
PCL功能浏览:查看所用模块并提供基本的功能解释
Takes the reader through all of the PCL modules and offers basic explanations on their functionalities.
Getting Started / Basic Structures
起步/基本的数据结构
Title: Getting Started / Basic Structures
演示基本的PCL数据结构并通过简单的代码例子讨论其基本的用法
Presents the basic data structures in PCL and discusses their usage with a simple code example.
Using PCL in your own project
在你的项目中使用PCL
Title: Using PCL in your own project
In this tutorial, we will learn how to link your own project to PCL using cmake.
本教程我们将学习使用CMAKE将PCL和你的项目连接在一起。
Customizing the PCL build process
定制PCL的Build过程(compile +link)
Title: Explaining PCL’s cmake options
本教程解释基本的PCLcmake选项,和调节方法以适应你的项目
In this tutorial, we will explain the basic PCL cmake options, and ways to tweak them to fit your project.
Building PCL’s dependencies from source on Windows
在Window平台从源程序创建PCL所依赖的项目
Title: Compiling PCL’s dependencies from source on Windows
Authors: Alessio Placitelli and Mourad Boufarguine
Compatibility: > PCL 1.0
In this tutorial, we will explain how to compile PCL’s 3rd party dependencies from source on Microsoft Windows.
本教程解释在Windows平台上编译PCL依赖的第三方程序代码
Compiling PCL from source on Windows
在Window平台编译PCL源程序
Title: Compiling PCL on Windows
Author: Mourad Boufarguine
Compatibility: > PCL 1.0
In this tutorial, we will explain how to compile PCL on Microsoft Windows.
Compiling PCL and its dependencies from MacPorts and source on Mac OS X
Title: Compiling PCL and its dependencies from MacPorts and source on Mac OS X
MacPorts是一个编译安装管理开源软件的简单工具。
Author: Justin Rosen
Compatibility: > PCL 1.0
This tutorial explains how to build the Point Cloud Library from MacPorts and source on Mac OS X platforms.
Installing on Mac OS X using Homebrew
Title: Installing on Mac OS X using Homebrew
Author: Geoffrey Biggs
Compatibility: > PCL 1.2
This tutorial explains how to install the Point Cloud Library on Mac OS X using Homebrew. Both direct installation and compiling PCL from source are explained.
Using PCL from trunk with Eclipse
Title: Using Eclipse as your PCL trunk editor
(trunk: means the unstable version of PCL)
Author: Koen Buys
Compatibility: > PCL 1.7
This tutorial shows you how to get your PCL trunk as a project in Eclipse.
获得PCL trunk 并使之成为Eclipse的一个项目
- Advanced Usage(高级用法)
Adding your own custom PointT type
增加自己的定制PointT类型
Title: Adding your own custom PointT point type
This document explains what templated point types are in PCL, why do they exist, and how to create and use your own PointT point type.
解释了什么模板点类型如何,为什么存在并使用自己的PointT 点类型。
Writing a new PCL class 写一个新的PCL类
Title: Writing a new PCL class
该简短的知道写PCL新类的“如何操作”和常见问题,或者从头写或者改写老的代码
This short guide is to serve as both a HowTo and a FAQ for writing new PCL classes, either from scratch, or by adapting old code.
- Applications(应用)
Aligning object templates to a point cloud
将物体模板和点云对准
本教程给出一个历史说明如何将以前的教程组合在一起解决一个高层问题,将以前获得的模型和新获得的数据对准。
Title: Aligning object templates to a point cloud
This tutorial gives an example of how some of the tools covered in the previous tutorials can be combined to solve a higher level problem — aligning a previously captured model of an object to some newly captured data.
Cluster Recognition and 6DOF Pose Estimation using VFH descriptors
使用VFH描述实现簇识别和6自由度姿态估计
本教程展示怎样通过VFH(视点特征直方图)描述来识别从几何上的近似簇。
Title: Cluster Recognition and 6DOF Pose Estimation using VFH descriptors
Author: Radu B. Rusu
Compatibility: > PCL 0.8
In this tutorial we show how the Viewpoint Feature Histogram (VFH) descriptor can be used to recognize similar clusters in terms of their geometry.
Point Cloud Streaming to Mobile Devices with Real-time Visualization
点云流发给移动器件实现实时观测
Title: Point Cloud Streaming to Mobile Devices with Real-time Visualization
This tutorial describes how to send point cloud data over the network from a desktop server to a client running on a mobile device.
本教程描述通过网络从桌面服务器到移动器件的客户端传送点云
Using Kinfu Large Scale to generate a textured mesh
使用大范围的Kinfu产生纹理网格图
Title: Using Kinfu Large Scale to generate a textured mesh
This tutorial demonstrates how to use KinFu Large Scale to produce a mesh from a room, and apply texture information in post-processing for a more appealing visual result.
本教程展示怎样使用KinFu Large Scale 产生房间的网格图,并通过后续处理应用纹理信息获得更引人入胜的视觉效果。
Detecting people on a ground plane with RGB-D data
通过RGB-D数据检测站在地面上的人
Title: Detecting people on a ground plane with RGB-D data
This tutorial presents a method for detecting people on a ground plane with RGB-D data.
该教程展示一种通过RGB-D数据检测站在地面的人的方法
Features(特征)
How 3D Features work in PCL
3D特征的机理
Title: How 3D features work
This document presents a basic introduction to the 3D feature estimation methodologies in PCL.
该文档介绍了PCL中基本的3D特征的估计方法。
Estimating Surface Normals in a PointCloud
在点云中估计表面法向量
Title: Estimating Surface Normals in a PointCloud
This tutorial discusses the theoretical and implementation details of the surface normal estimation module in PCL.
Normal Estimation Using Integral Images
Title: Normal Estimation Using Integral Images
In this tutorial we will learn how to compute normals for an organized point cloud using integral images.
Point Feature Histograms (PFH) descriptors
Title: Point Feature Histograms (PFH) descriptors
This tutorial introduces a family of 3D feature descriptors called PFH (Point Feature Histograms) and discusses their implementation details from PCL’s perspective.
Fast Point Feature Histograms (FPFH) descriptors
Title: Fast Point Feature Histograms (FPFH) descriptors
This tutorial introduces the FPFH (Fast Point Feature Histograms) 3D descriptor and discusses their implementation details from PCL’s perspective.
Estimating VFH signatures for a set of points
Title: Estimating VFH signatures for a set of points
This document describes the Viewpoint Feature Histogram (VFH) descriptor, a novel representation for point clusters for the problem of Cluster (e.g., Object) Recognition and 6DOF Pose Estimation.
How to extract NARF Features from a range image
Title: How to extract NARF features from a range image
In this tutorial, we will learn how to extract NARF features from a range image.
Filtering a PointCloud using a PassThrough filter
- Filtering(滤波)
Title: Filtering a PointCloud using a PassThrough filter
Author: Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial, we will learn how to remove points whose values fall inside/outside a user given interval along a specified dimension.
Downsampling a PointCloud using a VoxelGrid filter
Title: Downsampling a PointCloud using a VoxelGrid filter
Voxel:立体像素 Grid:网格栅格
Author: Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial, we will learn how to downsample (i.e., reduce the number of points) a Point Cloud.
Removing outliers using a StatisticalOutlierRemoval filter
Title: Removing sparse outliers using StatisticalOutlierRemoval
Author: Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial, we will learn how to remove sparse outliers from noisy data, using StatisticalRemoval.
Projecting points using a parametric model
Title: Projecting points using a parametric model
Author: Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial, we will learn how to project points to a parametric model (i.e., plane).
Project:映射,投射。将点云和参数模型匹配?
Extracting indices from a PointCloud
Title: Extracting indices from a PointCloud
Author: Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial, we will learn how to extract a set of indices given by a segmentation algorithm.
Removing outliers using a Conditional or RadiusOutlier removal
Title: Removing outliers using a Conditional or RadiusOutlier removal
Author: Gabe O’Leary
Compatibility: > PCL 1.0
In this tutorial, we will learn how to remove outliers from noisy data, using ConditionalRemoval, RadiusOutlierRemoval.
- I/O(I/O或者输入/输出)
The PCD (Point Cloud Data) file format
Title: The PCD (Point Cloud Data) file format
Author: Radu B. Rusu
Compatibility: > PCL 0.9
This document describes the PCD file format, and the way it is used inside PCL.
Reading Point Cloud data from PCD files
Title: Reading Point Cloud data from PCD files
Author: Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial, we will learn how to read a Point Cloud from a PCD file.
Writing Point Cloud data to PCD files
Title: Writing Point Cloud data to PCD files
Author: Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial, we will learn how to write a Point Cloud to a PCD file.
Concatenate the points of two Point Clouds
Title: Concatenate the fields or points of two Point Clouds
Author: Gabe O’Leary / Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial, we will learn how to concatenate both the fields and the point data of two Point Clouds. When concatenating fields, one PointClouds contains only XYZ data, and the other contains Surface Normal information.
The OpenNI Grabber Framework in PCL
Title: Grabbing Point Clouds from an OpenNI camera
Author: Nico Blodow
Compatibility: > PCL 1.0
In this tutorial, we will learn how to acquire point cloud data from an OpenNI camera.
The Velodyne High Definition LiDAR (HDL) Grabber
Title: Grabbing Point Clouds from a Velodyne High Definition LiDAR (HDL)
Author: Keven Ring
Compatibility: >= PCL 1.7
In this tutorial, we will learn how to acquire point cloud data from a Velodyne HDL.
The PCL Dinast Grabber Framework
Title: Grabbing Point Clouds from Dinast Cameras
Author: Marco A. Gutierrez
Compatibility: >= PCL 1.7
In this tutorial, we will learn how to acquire point cloud data from a Dinast camera.
- Keypoints(关键点)
Title: How to extract NARF keypoints from a range image
Author: Bastian Steder
Compatibility: > 1.3
In this tutorial, we will learn how to extract NARF keypoints from a range image.
How to extract NARF keypoint from a range image
- KdTree(KdTree:k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。
Title: KdTree Search
Author: Gabe O’Leary
Compatibility: > PCL 1.0
In this tutorial, we will learn how to search using the nearest neighbor method for k-d trees
How to use a KdTree to search
- Octree八插树是一种用于描述三维空间的树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积元素加在一起就等于父节点的体积。Octree模型:又称为八叉树模型,若不为空树的话,树中任一节点的子节点恰好只会有八个,或零个,也就是子节点不会有0与8以外的数目。那么,这要用来做什么?想象一个立方体,我们最少可以切成多少个相同等分的小立方体?答案就是8个。再想象我们有一个房间,房间里某个角落藏着一枚金币,我们想很快的把金币找出来,聪明的你会怎么做?我们可以把房间当成一个立方体,先切成八个小立方体,然后排除掉没有放任何东西的小立方体,再把有可能藏金币的小立方体继续切八等份….如此下去,平均在Log8(房间内的所有物品数)的时间内就可找到金币。因此,八叉树就是用在3D空间中的场景管理,可以很快地知道物体在3D场景中的位置,或侦测与其它物体是否有碰撞以及是否在可视范围内。
Point Cloud Compression
Title: Point cloud compression
Author: Julius Kammerl
Compatibility: > PCL 1.0
In this tutorial, we will learn how to compress a single point cloud and streams of point clouds.
Spatial Partitioning and Search Operations with Octrees
Title: Octrees for spatial partitioning and neighbor search
Author: Julius Kammerl
Compatibility: > PCL 1.0
In this tutorial, we will learn how to use octrees for spatial partitioning and nearest neighbor search.
Spatial change detection on unorganized point cloud data
Title: Spatial change detection on unorganized point cloud data
Author: Julius Kammerl
Compatibility: > PCL 1.0
In this tutorial, we will learn how to use octrees for detecting spatial changes within point clouds.
- Range Images范围图像,意思是通过点云获得特定角度的观察图像
How to create a range image from a point cloud
Title: Creating Range Images from Point Clouds
Author: Bastian Steder
Compatibility: > PCL 1.0
This tutorial demonstrates how to create a range image from a point cloud and a given sensor position.
How to extract borders from range images
Title: Extracting borders from Range Images
Author: Bastian Steder
Compatibility: > PCL 1.3
This tutorial demonstrates how to extract borders (traversals from foreground to background) from a range image.
- Recognition识别
3D Object Recognition based on Correspondence Grouping
Title: The PCL Recognition API
Author: Tommaso Cavallari, Federico Tombari
Compatibility: > PCL 1.6
This tutorial aims at explaining how to perform 3D Object Recognition based on the pcl_recognition module.
Implicit Shape Model
Title: Implicit Shape Model
Author: Sergey Ushakov
Compatibility: > PCL 1.7
In this tutorial we will learn how the Implicit Shape Model algorithm works and how to use it for finding objects centers.
- Registration 图像配准
The PCL Registration API
Title: The PCL Registration API
Author: Dirk Holz, Radu B. Rusu, Jochen Sprickerhof
Compatibility: > PCL 1.5
In this document, we describe the point cloud registration API and its modules: the estimation and rejection of point correspondences, and the estimation of rigid transformations.
How to use iterative closest point
Title: How to use iterative closest point algorithm
Author: Gabe O’Leary
Compatibility: > PCL 1.0
This tutorial gives an example of how to use the iterative closest point algorithm to see if one PointCloud is just a rigid transformation of another PointCloud.
How to incrementally register pairs of clouds
Title: How to incrementally register pairs of clouds
Author: Raphael Favier
Compatibility: > PCL 1.4
This document demonstrates using the Iterative Closest Point algorithm in order to incrementally register a series of point clouds two by two.
How to use Normal Distributions Transform
Title: How to use the Normal Distributions Transform algorithm
Author: Brian Okorn
Compatibility: > PCL 1.6
This document demonstrates using the Normal Distributions Transform algorithm to register two large point clouds.
In-hand scanner for small objects
Title: How to use the In-hand scanner for small objects
Author: Martin Saelzle
Compatibility: > PCL 1.7
This document shows how to use the In-hand scanner applications to obtain colored models of small objects with RGB-D cameras.
Robust pose estimation of rigid objects
Title: Robust pose estimation of rigid objects
Author: Anders Glent Buch
Compatibility: >= PCL 1.7
In this tutorial, we show how to find the alignment pose of a rigid object in a scene with clutter and occlusions.
- Sample Consensus随机抽样一致性算法,这类算法主要是估计点云和某个特定的数学模型进行匹配,并决定一些模型参数。
How to use Random Sample Consensus model
Title: How to use Random Sample Consensus model
Author: Gabe O’Leary
Compatibility: > PCL 1.0
In this tutorial we learn how to use a RandomSampleConsensus with a plane model to obtain the cloud fitting to this model.
- Segmentation图像分割
Plane model segmentation
Title: Plane model segmentation
Author: Radu B. Rusu
Compatibility: > PCL 1.3
In this tutorial, we will learn how to segment arbitrary plane models from a given point cloud dataset.
Cylinder model segmentation
Title: Cylinder model segmentation
Author: Radu B. Rusu
Compatibility: > PCL 1.3
In this tutorial, we will learn how to segment arbitrary cylindrical models from a given point cloud dataset.
Euclidean Cluster Extraction
Title: Euclidean Cluster Extraction
Author: Serkan Tuerker
Compatibility: > PCL 1.3
In this tutorial we will learn how to extract Euclidean clusters with thepcl::EuclideanClusterExtraction class.
Region growing segmentation
Title: Region Growing Segmentation
Author: Sergey Ushakov
Compatibility: > PCL 1.7
In this tutorial we will learn how to use region growing segmentation algorithm.
Color-based region growing segmentation
Title: Color-based Region Growing Segmentation
Author: Sergey Ushakov
Compatibility: > PCL 1.7
In this tutorial we will learn how to use color-based region growing segmentation algorithm.
Min-Cut Based Segmentation
Title: Min-Cut Based Segmentation
Author: Sergey Ushakov
Compatibility: > PCL 1.7
In this tutorial we will learn how to use min-cut based segmentation algorithm.
Conditional Euclidean Clustering
Title: Conditional Euclidean Clustering
Author: Frits Florentinus
Compatibility: > PCL 1.7
This tutorial describes how to use the Conditional Euclidean Clustering class in PCL: A segmentation algorithm that clusters points based on Euclidean distance and a user-customizable condition that needs to hold.
Difference of Normals Based Segmentation
Title: Difference of Normals Based Segmentation
Author: Yani Ioannou
Compatibility: > PCL 1.7
In this tutorial we will learn how to use the difference of normals feature for segmentation.
Clustering of Pointclouds into Supervoxels - Theoretical primer
Title: Supervoxel Clustering
Author: Jeremie Papon
Compatibility: > PCL 1.7
In this tutorial, we show to break a pointcloud into the mid-level supervoxel representation.
- Surface 表面
Smoothing and normal estimation based on polynomial reconstruction
Title: Smoothing and normal estimation based on polynomial reconstruction
Author: Zoltan-Csaba Marton, Alexandru E. Ichim
Compatibility: > PCL 1.6
In this tutorial, we will learn how to construct and run a Moving Least Squares (MLS) algorithm to obtain smoothed XYZ coordinates and normals.
Construct a concave or convex hull polygon for a plane model
Title: Construct a concave or convex hull polygon for a plane model
Author: Gabe O’Leary, Radu B. Rusu
Compatibility: > PCL 1.0
In this tutorial we will learn how to calculate a simple 2D concave or convex hull polygon for a set of points supported by a plane.
Fast triangulation of unordered point clouds
Title: Fast triangulation of unordered point clouds
Author: Zoltan-Csaba Marton
Compatibility: > PCL 1.0
In this tutorial we will learn how to run a greedy triangulation algorithm on a PointCloud with normals to obtain a triangle mesh based on projections of the local neighborhood.
- Visualization可视化
The CloudViewer
Title: Visualizing Point Clouds
Author: Ethan Rublee
Compatibility: > PCL 1.0
This tutorial demonstrates how to use the pcl visualization tools.
How to visualize a range image
Title: Visualizing Range Images
Author: Bastian Steder
Compatibility: > PCL 1.3
This tutorial demonstrates how to use the pcl visualization tools for range images.
PCLVisualizer
Title: PCLVisualizer
Author: Geoffrey Biggs
Compatibility: > PCL 1.3
This tutorial demonstrates how to use the PCLVisualizer class for powerful visualisation of point clouds and related data.
PCLPlotter
Title: PCLPlotter
Author: Kripasindhu Sarkar
Compatibility: > PCL 1.7
This tutorial demonstrates how to use the PCLPlotter class for powerful visualisation of plots, charts and histograms of raw data and explicit functions.
- GPU GPU
Configuring your PC to use your Nvidia GPU with PCL
Title: GPU Installation
Author: Koen Buys
Compatibility: > PCL 1.7 trunk
This tutorial explains how to configure PCL to use with a Nvidia GPU
Detecting people and their poses using PointCloud Library
Title: People Detection
Author: Koen Buys
Compatibility: > PCL 1.7 trunk
This tutorial presents a method for people and pose detection.