Functions for managing depth data.
More...
Classes |
struct | TangoSupport_Plane |
| A structure to define a plane (ax + by + cz + d = 0), including the intersection point of the plane with the user selected camera-ray and inlier information for the plane for points near the user selected camera-ray. More...
|
Functions |
TangoErrorType | TangoSupport_fitMultiplePlaneModelsNearPoint (const TangoPointCloud *point_cloud, const double point_cloud_translation[3], const double point_cloud_orientation[4], const float color_camera_uv_coordinates[2], TangoSupport_Rotation display_rotation, const double color_camera_translation[3], const double color_camera_orientation[4], TangoSupport_Plane **planes, int *number_of_planes) |
| Similar to TangoSupport_fitPlaneModelNearPoint, but after finding a plane at the user selection, points fitting the fit plane are removed from the input points to the RANSAC step and the process is repeated until a fit plane is not found. The output planes are in the base frame of the input translations and rotations. This output frame is usually an application's world frame. Unlike the single plane version, the planes need to be freed by calling TangoSupport_freePlaneList.
|
TangoErrorType | TangoSupport_fitPlaneModelNearPoint (const TangoPointCloud *point_cloud, const double point_cloud_translation[3], const double point_cloud_orientation[4], const float color_camera_uv_coordinates[2], TangoSupport_Rotation display_rotation, const double color_camera_translation[3], const double color_camera_orientation[4], double intersection_point[3], double plane_model[4]) |
| Fits a plane to a point cloud near a user-specified location. This occurs in two passes. First, all points are projected to the image plane and only points near the user selection are kept. Then a plane is fit to the subset using RANSAC. After the RANSAC fit, all inliers from a larger subset of the original input point cloud are used to refine the plane model. The output is in the base frame of the input translations and rotations. This output frame is usually an application's world frame.
|
void | TangoSupport_freePlaneList (TangoSupport_Plane **planes) |
| Free memory allocated in call to TangoSupport_fitMultiplePlaneModelsNearPoint.
|
Detailed Description
Functions for managing depth data.
Function Documentation
Similar to TangoSupport_fitPlaneModelNearPoint, but after finding a plane at the user selection, points fitting the fit plane are removed from the input points to the RANSAC step and the process is repeated until a fit plane is not found. The output planes are in the base frame of the input translations and rotations. This output frame is usually an application's world frame. Unlike the single plane version, the planes need to be freed by calling TangoSupport_freePlaneList.
- Parameters:
-
point_cloud | The input point cloud. Cannot be NULL and must have at least three points. |
point_cloud_translation | The translation component of the transformation from the point cloud to the output frame. Cannot be NULL. |
point_cloud_orientation | The orientation component (as a quaternion) of the transformation from the point cloud to the output frame. Cannot be NULL. |
color_camera_uv_coordinates | The UV coordinates for the user selection. This is expected to be between (0.0, 0.0) and (1.0, 1.0) and can be computed from pixel coordinates by dividing by the width or height. Cannot be NULL. |
display_rotation | The index of the display rotation between display's default (natural) orientation and current orientation. |
color_camera_translation | The translation component of the transformation from the color camera to the output frame. Cannot be NULL. |
color_camera_orientation | The orientation component (as a quaternion) of the transformation from the color camera to the output frame. Cannot be NULL. |
planes | An array of planes fitting the point cloud data near the user selected camera-ray. The plane objects are in the coordinate system of the requested output frame. The array should be deleted by calling TangoSupport_freePlaneList. Cannot be NULL. |
number_of_planes | The number of planes in planes . Cannot be NULL. |
- Returns:
TANGO_SUCCESS
on success, TANGO_INVALID
on invalid input, and TANGO_ERROR
on failure (no planes found).
Fits a plane to a point cloud near a user-specified location. This occurs in two passes. First, all points are projected to the image plane and only points near the user selection are kept. Then a plane is fit to the subset using RANSAC. After the RANSAC fit, all inliers from a larger subset of the original input point cloud are used to refine the plane model. The output is in the base frame of the input translations and rotations. This output frame is usually an application's world frame.
- Parameters:
-
point_cloud | The input point cloud. Cannot be NULL and must have at least three points. |
point_cloud_translation | The translation component of the transformation from the point cloud to the output frame. Cannot be NULL. |
point_cloud_orientation | The orientation component (as a quaternion) of the transformation from the point cloud to the output frame. Cannot be NULL. |
color_camera_uv_coordinates | The UV coordinates for the user selection. This is expected to be between (0.0, 0.0) and (1.0, 1.0) and can be computed from pixel coordinates by dividing by the width or height. Cannot be NULL. |
display_rotation | The index of the display rotation between display's default (natural) orientation and current orientation. |
color_camera_translation | The translation component of the transformation from the color camera to the output frame. Cannot be NULL. |
color_camera_orientation | The orientation component (as a quaternion) of the transformation from the color camera to the output frame. Cannot be NULL. |
intersection_point | The intersection of the fitted plane with the user selected camera-ray, in output frame coordinates, accounting for distortion by undistorting the input uv coordinate. Cannot be NULL. |
plane_model | The four parameters a, b, c, d for the general plane equation ax + by + cz + d = 0 of the plane fit. The first three components are a unit vector. The output is in the coordinate system of the requested output frame. Cannot be NULL. |
- Returns:
TANGO_SUCCESS
on success, TANGO_INVALID
on invalid input, and TANGO_ERROR
on failure (no plane found).
Free memory allocated in call to TangoSupport_fitMultiplePlaneModelsNearPoint.
- Parameters:
-
planes | Plane list to free. |