|
RTAB-Map 0.23.10
Real-Time Appearance-Based Mapping
|
Filters points in a point cloud based on the angle between their estimated surface normals and a given reference normal. More...
Filters points in a point cloud based on the angle between their estimated surface normals and a given reference normal.
This function estimates surface normals for each point (or subset of points) in the input point cloud, and retains only those points whose normals are within angleMax radians from the given reference normal.
If groundNormalsUp is set, normals that are facing significantly downward (based on the Z-axis) may be flipped to point upwards before comparison, especially useful for handling sensors like Velodyne where some road-facing rays produce downward normals.
| cloud | The input point cloud to process. If the input cloud type doesn't have normals, the normals will be computed using normalKSearh and viewpoint parameters. |
| indices | Optional subset of indices in cloud to consider. If empty, the entire cloud is used. |
| angleMax | Maximum allowed angle (in radians) between estimated normals and the given reference normal. |
| normal | The reference normal vector to compare against (must be normalized). |
| normalKSearch | Number of nearest neighbors used for normal estimation, when input cloud doesn't have normals. |
| viewpoint | The viewpoint position to be used in normal estimation (can affect direction of normals). |
| groundNormalsUp | Threshold used to detect and flip ground-facing normals (set to 0.0f to disable). If the Z component of a normal is less than -groundNormalsUp and the corresponding point is below the viewpoint, the normal will be flipped. |
angleMax of the reference normal.NormalEstimationOMP for efficient multi-threaded normal estimation when input cloud doesn't have normals.