🔷Point Cloud Edge Extraction

Functional Description

This operator is used to extract edge points from input point clouds with normals. It identifies edges by analyzing the normal vector direction differences between each point in the point cloud and its neighboring points. If the maximum angle difference between a point and its K nearest neighboring points' normal vectors exceeds the set "Edge Angle Threshold", that point is identified as an edge point. This operator can automatically handle both ordered and unordered point clouds with normals.

Usage Scenarios

  • Feature Extraction: Extract contours or geometric edges of point clouds for shape matching, recognition, or measurement.

  • Point Cloud Segmentation Assistant: Edge information can help segment regions with distinct boundaries.

  • Visualization: Highlight object contours and structural features.

Input Output

Input

Point Cloud with Normals: Input must be point clouds or point cloud lists containing normal vector information.

CalculateEdge input

Output

Point Cloud Edges: Point cloud list composed of extracted edge points. Output point cloud contains only points identified as edges and preserves their original coordinate and normal vector information.

CalculateEdge output

Parameter Description

Edge Angle Threshold

Parameter Description

Normal vector angle difference threshold for determining whether a point is an edge point.

Parameter Adjustment

The operator calculates angle differences between each point and its K neighboring points' normal vectors. If the maximum value among these angle differences exceeds the threshold set here, that point is considered an edge point.

  • Smaller threshold: More sensitive to normal changes, will extract more and finer edges, but may also introduce false edges caused by noise or slight surface changes.

  • Larger threshold: Will only identify points with very dramatic normal changes as edges, extracting fewer edges that are more likely to be actual geometric boundaries, but may miss some weaker edges.

    Need to adjust based on point cloud smoothness, noise level, and expected edge strength for extraction. 90 degrees is a commonly used default value, indicating that normal changes approaching right angles are considered edges.

Parameter Range

[0, 180], Default value: 90, Unit: degrees

CalculateEdge 1

CalculateEdge output

CalculateEdge 2

Edge Angle Threshold=60

Edge Angle Threshold=90

Edge Angle Threshold=150

Neighbor Search Count

Parameter Description

Number of nearest neighboring points considered when calculating normal angle differences for each point.

Parameter Adjustment

Neighbor search count defines the local neighborhood size referenced for edge judgment, need to select based on point cloud density and expected edge scales to capture.

  • Smaller count: Focuses on very local normal changes, sensitive to small edges.

  • Larger count: Considers neighbors in a larger range, smoother judgment of normal changes, may ignore some small edge features, but insensitive to noise.

Parameter Range

[0, 100000], Default value: 20

CalculateEdge 3

CalculateEdge output

CalculateEdge 4

Neighbor Search Count=10

Neighbor Search Count=20

Neighbor Search Count=200

Enable Node

Parameter Description

Controls whether this operator executes computation.

Parameter Adjustment

  • Enable (Default): Normally runs the operator function.

  • Disable: Operator does not perform any operation, directly outputs input data.