segmentLidarData
Segment organized 3-D range data into clusters
Syntax
Description
segments organized 3-D range data labels
= segmentLidarData(ptCloud
,distThreshold
)ptCloud
into clusters. The
function assigns an integer cluster label to each point in the point cloud and
returns the cluster label of all points in labels
.
The function groups two neighboring points into the same cluster if their
Euclidean distance is less than distThreshold
or if the angle
between the sensor and two neighboring points is at least 5 degrees.
sets the angle constraint for grouping points into the same cluster to
labels
= segmentLidarData(ptCloud
,distThreshold
,angleThreshold
)angleThreshold
.
[
also returns the number of clusters.labels
,numClusters
] = segmentLidarData(___)
[___] = segmentLidarData(___,NumClusterPoints=[1,Inf])
also sets the minimum and maximum number of points in each cluster, specified as a
2-element vector or as a scalar value. When you specify
NumClusterPoints
as a scalar, the maximum number of points in
the cluster is unrestricted. The function sets the labels
to
0
when clusters are outside of the specified range.
Examples
Input Arguments
Output Arguments
Algorithms
The segmentLidarData
function uses distance and angle thresholds to
cluster neighboring points. The function groups two neighboring points into the same
cluster if their Euclidean distance is less than the input
distThreshold
or if the angle between the sensor and
neighboring points is greater than or equal to the input
angleThreshold
. If you do not specify
angleThreshold
, the function sets this angle to
5
degrees.
For example, suppose angleThreshold
is set to
90
. Because angles α and β in the figure are both greater than
the specified threshold of 90 degrees, the function groups points A, B, and C into the
same cluster. Because angle σ is less than the 90-degree threshold, the function groups
point D into a separate cluster. Each angle the function uses for clustering is formed
by the line from a point to the sensor and the line from that same point to the
neighboring point
References
[1] Bogoslavskyi, I. “Efficient Online Segmentation for Sparse 3D Laser Scans.” Journal of Photogrammetry, Remote Sensing and Geoinformation Science. Vol. 85, Issue 1, 2017, pp. 41–52.
Extended Capabilities
Version History
Introduced in R2018a
See Also
pointCloud
| pcsegdist
| pcfitplane
| velodyneFileReader
| segmentGroundFromLidarData