# segmentCurbPoints

## Syntax

## Description

segments the indices of the feature curb points from an organized point cloud which contains
on-road points. A `curbPtsIdx`

= segmentCurbPoints(`onRoadPointCloud`

)*curb* usually defines the road boundary, and forms an
edge for the sidewalk.

specifies the road angles. The function further processes the feature curb points using
these road angles and returns the candidate curb points.`curbPtsIdx`

= segmentCurbPoints(`onRoadPointCloud`

,`roadAngles`

)

specifies the curb points segmented from the previous point cloud frames. The function uses
the previous curb points to improve robustness when the input point cloud has
occlusions.`curbPtsIdx`

= segmentCurbPoints(`onRoadPointCloud`

,`roadAngles`

,`prevCurbPoints`

)

`[`

returns the segmented curb points in the on-road point cloud as a `curbPtsIdx`

,`curbPtCloud`

] = segmentCurbPoints(___)`pointCloud`

object, using any combination of input arguments from previous
syntaxes.

`[___] = segmentCurbPoints(___,`

specifies options using one or more name-value arguments in addition to any combination of
arguments from previous syntaxes. For example, `Name=Value`

)`HeightLimits=[0.1 0.3]`

specifies the minimum and the maximum height of the road curb as 0.1 and 0.3 meters,
respectively.

## Examples

## Input Arguments

## Output Arguments

## Algorithms

The function extracts curb points from `onRoadPointCloud`

using these steps.

For each point in a scan line, the function computes these three features.

*Height Difference Feature*— Computes the standard deviation and the height maximum difference around a point. The standard deviation and height difference of a curb point must be within the specified`HeightDeviationLimits`

and`HeightLimits`

, respectively.*Smoothness Feature*— Computes the smoothness of the area around a point. A higher smoothness value indicates that the point is an edge point, and a lower values indicates that the point is a plane point. The smoothness value for a curb point must be greater than the`SmoothnessThreshold`

value.*Horizontal and Vertical Continuity Feature*— Computes the horizontal and vertical distance between a point and its immediate neighbors. These horizontal and vertical distance values must be less than the horizontal and the vertical continuity thresholds, respectively. The function computes the thresholds values from the`HorizontalAngularResolution`

of the lidar sensor.

If a point satisfies all computed features, then it as a

*feature curb point*.If you specify road angles as an input, the function further fine tunes the feature curb points using RANSAC polynomial fitting, and returns the

*candidate curb points*.

## Version History

**Introduced in R2022b**