Lidar and Point Cloud Processing

Downsample, denoise, transform, visualize, register, and fit geometrical shapes of 3-D point clouds

Point clouds are typically used to measure physical world surfaces. They have applications in robot navigation and perception, depth estimation, stereo vision, visual registration, and in advanced driver assistance systems (ADAS). Computer Vision Toolbox™ algorithms provide point cloud processing functionality for downsampling, denoising, and transforming point clouds. The toolbox also provides point cloud registration, geometrical shape fitting to 3-D point clouds, and the ability to read, write, store, display, and compare point clouds. You can also combine multiple point clouds to reconstruct a 3-D scene using the iterative closest point (ICP) algorithm.

You can use pcregistercpd, pcregistericp, and pcregisterndt to register a moving point cloud to a fixed point cloud. These registration algorithms are based on the Coherent Point Drift (CPD) algorithm, the Iterative Closest Point (ICP) algorithm and the Normal-Distributions Transform (NDT) algorithm, respectively. Best performance requires adjusting properties for your data. Before using the point cloud registration functions, consider using pcdownsample to downsample your point clouds, which improves the accuracy and efficiency of registration.

Functions

expand all

pcdenoiseRemove noise from 3-D point cloud
pcdownsampleDownsample a 3-D point cloud
pcnormalsEstimate normals for point cloud
pcmergeMerge two 3-D point clouds
pcsegdistSegment point cloud into clusters based on Euclidean distance
segmentLidarDataSegment organized 3-D range data into clusters
segmentGroundFromLidarDataSegment ground points from organized lidar data
findNearestNeighborsFind nearest neighbors of a point in point cloud
findNeighborsInRadiusFind neighbors within a radius of a point in the point cloud
findPointsInROIFind points within a region of interest in the point cloud
removeInvalidPointsRemove invalid points from point cloud
pcdownsampleDownsample a 3-D point cloud
pctransformTransform 3-D point cloud
pcregistericpRegister two point clouds using ICP algorithm
pcregistercpdRegister two point clouds using CPD algorithm
pcregisterndtRegister two point clouds using NDT algorithm
pcfitcylinderFit cylinder to 3-D point cloud
pcfitplaneFit plane to 3-D point cloud
pcfitsphereFit sphere to 3-D point cloud
pcnormalsEstimate normals for point cloud
fitPolynomialRANSACFit polynomial to points using RANSAC
ransacFit model to noisy data
cylinderModelObject for storing a parametric cylinder model
planeModelObject for storing a parametric plane model
sphereModelObject for storing a parametric sphere model
pcreadRead 3-D point cloud from PLY or PCD file
pcwriteWrite 3-D point cloud to PLY or PCD file
pcfromkinectPoint cloud from Kinect for Windows
velodyneFileReaderRead point cloud data from Velodyne PCAP file
pcshowPlot 3-D point cloud
pcshowpairVisualize difference between two point clouds
pcplayerVisualize streaming 3-D point cloud data
pointCloudObject for storing 3-D point cloud
findNearestNeighborsFind nearest neighbors of a point in point cloud
findNeighborsInRadiusFind neighbors within a radius of a point in the point cloud
findPointsInROIFind points within a region of interest in the point cloud
removeInvalidPointsRemove invalid points from point cloud

Topics

The PLY Format

The Stanford Triangle Format

Point Cloud Registration Overview

Understand point cloud registration workflow.

Featured Examples