The Point Cloud Library (or PCL) is a large scale, open project [1] for 2D/3D image and point cloud processing. The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation. These algorithms can be used, for example, to filter outliers from noisy data, stitch 3D point clouds together, segment relevant parts of a scene, extract keypoints and compute descriptors to recognize objects in the world based on their geometric appearance, and create surfaces from point clouds and visualize them -- to name a few.
PCL is released under the terms of the 3-clause BSD license and is open source software. It is free for commercial and research use.
PCL is cross-platform, and has been successfully compiled and deployed on Linux, MacOS, Windows, and Android/iOS. To simplify development, PCL is split into a series of smaller code libraries, that can be compiled separately. This modularity is important for distributing PCL on platforms with reduced computational or size constraints (for more information about each module see the documentation page). Another way to think about PCL is as a graph of code libraries, similar to the Boost set of C++ libraries. Here's an example:
The project is being developed by a large number of engineers and scientists from many different organizations, geographically distributed all around the world, including:
Please see the developers website at http://dev.pointclouds.org/ for more details.
The project is financially supported by Open Perception, Willow Garage, NVidia, Google (GSOC 2011,2012), Toyota, Trimble, Urban Robotics, Honda Research Institute, Sandia Intelligent Systems and Robotics, Dinast, Optronic, Velodyne, Spectrolab, Fotonic, Leica Geosystems, National Institute of Standards and Technology, Southwest Research Institute, Ocular Robotics, TetraVue, Aptina, Intel, and REMAP UCLA. We would also like to thank and acknowledge the support of the Ministry of Knowledge and Economy (MKE) from South Korea, who has generously awarded PCL with the First Prize at the Open Source Software World Challenge in 2011.
If you're interested in supporting the project in any form (anything from a check to a pat on the shoulder will do), please use the contact form here, or get in touch with us through our host organization, Open Perception. Thank you in advance for your support.
A point cloud is a data structure used to represent a collection of multi-dimensional points and is commonly used to represent three-dimensional data. In a 3D point cloud, the points usually represent the X, Y, and Z geometric coordinates of an underlying sampled surface. When color information is present (see the figures below), the point cloud becomes 4D.
![]() |
Point clouds can be acquired from hardware sensors such as stereo cameras, 3D scanners, or time-of-flight cameras, or generated from a computer program synthetically. PCL supports natively the OpenNI 3D interfaces, and can thus acquire and process data from devices such as the PrimeSensor 3D cameras, the Microsoft Kinect, or the Asus XTionPRO.
For more information about point clouds and 3D processing please visit our documentation page.
[1] For more information, including a scientific citation (more to be added soon), please see:
@InProceedings{Rusu_ICRA2011_PCL, author = {Radu Bogdan Rusu and Steve Cousins}, title = {{3D is here: Point Cloud Library (PCL)}}, booktitle = {{IEEE International Conference on Robotics and Automation (ICRA)}}, month = {May 9-13}, year = {2011}, address = {Shanghai, China} }