Azure Kinect Sensor SDK  refs/heads/master
Documentation for

◆ k4a_calibration_2d_to_2d()

k4a_result_t k4a_calibration_2d_to_2d ( const k4a_calibration_t calibration,
const k4a_float2_t source_point2d,
const float  source_depth_mm,
const k4a_calibration_type_t  source_camera,
const k4a_calibration_type_t  target_camera,
k4a_float2_t target_point2d,
int *  valid 

Transform a 2D pixel coordinate with an associated depth value of the source camera into a 2D pixel coordinate of the target camera.

calibrationLocation to read the camera calibration obtained by k4a_device_get_calibration().
source_point2dThe 2D pixel in source_camera coordinates.
source_depth_mmThe depth of source_point2d in millimeters. One way to derive the depth value in the color camera geometry is to use the function k4a_transformation_depth_image_to_color_camera().
source_cameraThe current camera.
target_cameraThe target camera.
target_point2dThe 2D pixel in target_camera coordinates.
validThe output parameter returns a value of 1 if the source_point2d is a valid coordinate in the target_camera coordinate system, and will return 0 if the coordinate is not valid in the calibration model.
K4A_RESULT_SUCCEEDED if target_point2d was successfully written. K4A_RESULT_FAILED if calibration contained invalid transformation parameters. If the function returns K4A_RESULT_SUCCEEDED, but valid is 0, the transformation was computed, but the results in target_point2d are outside of the range of valid calibration and should be ignored.
This function maps a pixel between the coordinate systems of the depth and color cameras. It is equivalent to calling k4a_calibration_2d_to_3d() to compute the 3D point corresponding to source_point2d and then using k4a_calibration_3d_to_2d() to map the 3D point into the coordinate system of the target_camera.
If source_camera and target_camera are identical, the function immediately sets target_point2d to source_point2d and returns without computing any transformations.
If source_point2d does not map to a valid 2D coordinate in the target_camera coordinate system, valid is set to 0. If it is valid, valid will be set to 1. The user should not use the value of target_point2d if valid was set to 0.