pcl
Point Cloud Library (PCL)
An open-source C++ library with hundreds of algorithms for reading, filtering, aligning, and reconstructing 3D point cloud data from LiDAR and depth cameras.
The Point Cloud Library (PCL) is an open-source collection of tools for working with point cloud data. A point cloud is a set of data points in three-dimensional space, typically produced by sensors like LiDAR scanners, depth cameras, or photogrammetry setups. These kinds of datasets are common in robotics, self-driving vehicles, architecture scanning, and computer vision research.
PCL provides algorithms and data structures for reading, processing, and analyzing this kind of spatial data. Common tasks include filtering out noise, aligning two scans together, detecting surfaces and shapes, segmenting a scene into distinct objects, and reconstructing 3D meshes from raw point data. The library is written in C++ and is designed to handle large-scale datasets efficiently.
It runs on Linux, macOS, and Windows, and is backed by a non-profit organization called Open Perception along with several commercial sponsors. The project originated from academic robotics research and was first published at a major robotics conference in 2011. Despite its research origins, it has been widely adopted in industrial and commercial applications.
Setting up PCL requires compiling from source using standard build tools. The documentation includes platform-specific tutorials for Linux, macOS, and Windows to walk through that process. There is also an active community on Discord and Stack Overflow for questions and troubleshooting.
The library is released under the BSD license, which allows free use in both commercial and non-commercial projects. It has nearly 11,000 GitHub stars and remains one of the most widely used libraries in the 3D spatial computing space.
Where it fits
- Filter and clean noisy LiDAR scan data from a robotics or self-driving vehicle sensor.
- Align two overlapping 3D scans together and reconstruct a 3D surface mesh from the combined point cloud.
- Detect and segment distinct objects or surfaces in a 3D scene captured by a depth camera.
- Process large-scale spatial datasets from architecture scanning or photogrammetry pipelines.