Main Content

Preprocessing

Downsample, filter, transform, align, block, organize, and extract features from 3-D point cloud

Lidar sensors generate 3-D scans of their surrounding environments as collections of points in space called point clouds. Though point clouds are accurate and robust, which makes them useful for robotics applications, raw point cloud data is large, contains high density noise, and has a scattered distribution. Lidar Toolbox™ includes preprocessing features that enable you to better to store and use point clouds.

  • Lidar Toolbox includes preliminary processing algorithms to downsample, filter, transform, align, block, organize, and extract features from point clouds. These algorithms improve the quality and accuracy of the data, and can accelerate and improve the results of advanced workflows.

  • When your point cloud data is too large to process at once, you can divide and process the point cloud as small blocks by using the blockedPointCloud function.

  • For advanced workflows that require organized point clouds, such as object detection, and segmentation, you can convert unorganized point clouds to the organized format by using the pcorganize function. For more information on the distinctions between organized and unorganized point clouds, see What are Organized and Unorganized Point Clouds?

  • Lidar Toolbox includes functions that generate surface meshes, digital elevation models (DEM) and 2-D scans from point cloud data. You can also create and process surface mesh data by using the surfaceMesh object. Lidar Toolbox includes functions that read, write, and visualize a surface mesh.

You can also interactively visualize, analyze, and preprocess point cloud data using the Lidar Viewer app.

Apps

Lidar ViewerVisualize and analyze lidar data (Since R2021b)
Lidar Registration AnalyzerAnalyze results of lidar point cloud registration (Since R2024a)

Functions

expand all

pcdownsampleDownsample a 3-D point cloud
pcmedianMedian filtering 3-D point cloud data (Since R2020b)
pcdenoiseRemove noise from 3-D point cloud
findPointsInCylinderFind points within a cylindrical region in a point cloud (Since R2023a)
removeInvalidPointsRemove invalid points from point cloud
removeHiddenPointsRemove hidden points from point cloud (Since R2023a)
pcalignAlign array of point clouds (Since R2020b)
pccatConcatenate 3-D point cloud array (Since R2020b)
pcnormalsEstimate normals for point cloud
pctransformTransform 3-D point cloud
undistortEgoMotionUndistort point cloud affected by ego motion (Since R2023a)
blockedPointCloudPoint cloud made from discrete blocks (Since R2022a)
blockedPointCloudDatastoreDatastore for use with blocks from blockedPointCloud objects (Since R2022a)
pcorganizeConvert 3-D point cloud into organized point cloud (Since R2021b)
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
extractEigenFeaturesExtract eigenvalue-based features from point cloud segments (Since R2021a)
extractFPFHFeaturesExtract fast point feature histogram (FPFH) descriptors from point cloud (Since R2020b)
detectISSFeaturesDetect ISS feature points in point cloud (Since R2022a)
detectLOAMFeaturesDetect LOAM feature points from 3-D lidar data (Since R2022a)
detectRectangularPlanePointsDetect rectangular plane of specified dimensions in point cloud (Since R2020b)
detectRoadAnglesDetect road angles in point cloud (Since R2022b)
pcregisterloamRegister two point clouds using LOAM algorithm (Since R2022a)
pcregisterfgrRegister two point clouds using FGR algorithm (Since R2022b)
pcregistericpRegister two point clouds using ICP algorithm
pcregistercpdRegister two point clouds using CPD algorithm
pcregistercorrRegister two point clouds using phase correlation (Since R2020b)
pcregisterndtRegister two point clouds using NDT algorithm
pc2demCreate digital elevation model (DEM) of point cloud data (Since R2021b)
pc2scanConvert 3-D point cloud into 2-D lidar scan (Since R2022a)
pc2surfacemeshConstruct surface mesh from 3-D point cloud (Since R2022b)
surfaceMeshCreate surface mesh (Since R2022b)
pc2surfacemeshConstruct surface mesh from 3-D point cloud (Since R2022b)
mesh2pcCreate point cloud from surface mesh (Since R2024b)
readSurfaceMeshRead 3-D surface mesh data from standard mesh file formats (Since R2022b)
writeSurfaceMeshWrite surface mesh to standard mesh file formats (Since R2022b)
surfaceMeshShowDisplay surface mesh (Since R2022b)
smoothSurfaceMeshSmooth surface mesh (Since R2023a)
clusterConnectedFacesCluster connected faces (Since R2023a)
lidarParametersLidar sensor parameters (Since R2021b)
lidarPointAttributesObject for storing lidar point attributes (Since R2022a)

Topics

Featured Examples