Operator Reference

disparity_to_point_3dT_disparity_to_point_3dDisparityToPoint3dDisparityToPoint3ddisparity_to_point_3d (Operator)

disparity_to_point_3dT_disparity_to_point_3dDisparityToPoint3dDisparityToPoint3ddisparity_to_point_3d — Transform an image point and its disparity into a 3D point in a rectified stereo system.

Signature

disparity_to_point_3d( : : CamParamRect1, CamParamRect2, RelPoseRect, Row1, Col1, Disparity : X, Y, Z)

Herror T_disparity_to_point_3d(const Htuple CamParamRect1, const Htuple CamParamRect2, const Htuple RelPoseRect, const Htuple Row1, const Htuple Col1, const Htuple Disparity, Htuple* X, Htuple* Y, Htuple* Z)

void DisparityToPoint3d(const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect, const HTuple& Row1, const HTuple& Col1, const HTuple& Disparity, HTuple* X, HTuple* Y, HTuple* Z)

void HCamPar::DisparityToPoint3d(const HCamPar& CamParamRect2, const HPose& RelPoseRect, const HTuple& Row1, const HTuple& Col1, const HTuple& Disparity, HTuple* X, HTuple* Y, HTuple* Z) const

void HCamPar::DisparityToPoint3d(const HCamPar& CamParamRect2, const HPose& RelPoseRect, double Row1, double Col1, double Disparity, double* X, double* Y, double* Z) const

void HPose::DisparityToPoint3d(const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, const HTuple& Row1, const HTuple& Col1, const HTuple& Disparity, HTuple* X, HTuple* Y, HTuple* Z) const

void HPose::DisparityToPoint3d(const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, double Row1, double Col1, double Disparity, double* X, double* Y, double* Z) const

static void HOperatorSet.DisparityToPoint3d(HTuple camParamRect1, HTuple camParamRect2, HTuple relPoseRect, HTuple row1, HTuple col1, HTuple disparity, out HTuple x, out HTuple y, out HTuple z)

void HCamPar.DisparityToPoint3d(HCamPar camParamRect2, HPose relPoseRect, HTuple row1, HTuple col1, HTuple disparity, out HTuple x, out HTuple y, out HTuple z)

void HCamPar.DisparityToPoint3d(HCamPar camParamRect2, HPose relPoseRect, double row1, double col1, double disparity, out double x, out double y, out double z)

void HPose.DisparityToPoint3d(HCamPar camParamRect1, HCamPar camParamRect2, HTuple row1, HTuple col1, HTuple disparity, out HTuple x, out HTuple y, out HTuple z)

void HPose.DisparityToPoint3d(HCamPar camParamRect1, HCamPar camParamRect2, double row1, double col1, double disparity, out double x, out double y, out double z)

def disparity_to_point_3d(cam_param_rect_1: Sequence[Union[int, float, str]], cam_param_rect_2: Sequence[Union[int, float, str]], rel_pose_rect: Sequence[Union[int, float]], row_1: MaybeSequence[Union[int, float]], col_1: MaybeSequence[Union[int, float]], disparity: MaybeSequence[Union[int, float]]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def disparity_to_point_3d_s(cam_param_rect_1: Sequence[Union[int, float, str]], cam_param_rect_2: Sequence[Union[int, float, str]], rel_pose_rect: Sequence[Union[int, float]], row_1: MaybeSequence[Union[int, float]], col_1: MaybeSequence[Union[int, float]], disparity: MaybeSequence[Union[int, float]]) -> Tuple[float, float, float]

Description

Given an image point of the rectified camera 1, specified by its image coordinates (Row1Row1Row1row1row_1,Col1Col1Col1col1col_1), and its disparity in a rectified binocular stereo system, disparity_to_point_3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3ddisparity_to_point_3d computes the corresponding three dimensional object point. The disparity value DisparityDisparityDisparitydisparitydisparity defines the column difference of the image coordinates of two corresponding features on an epipolar line according to the equation . The rectified binocular camera system is specified by its internal camera parameters CamParamRect1CamParamRect1CamParamRect1camParamRect1cam_param_rect_1 of camera 1 and CamParamRect2CamParamRect2CamParamRect2camParamRect2cam_param_rect_2 of camera 2, and the external parameters RelPoseRectRelPoseRectRelPoseRectrelPoseRectrel_pose_rect defining the pose of the rectified camera 2 in relation to the rectified camera 1. These camera parameters can be obtained from the operators calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerascalibrate_cameras and gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map. The 3D point is returned in Cartesian coordinates (XXXxx,YYYyy,ZZZzz) of the rectified camera system 1.

Attention

Stereo setups that contain cameras with and without hypercentric lenses at the same time are not supported.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

CamParamRect1CamParamRect1CamParamRect1camParamRect1cam_param_rect_1 (input_control)  campar HCamPar, HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Rectified internal camera parameters of camera 1.

CamParamRect2CamParamRect2CamParamRect2camParamRect2cam_param_rect_2 (input_control)  campar HCamPar, HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Rectified internal camera parameters of camera 2.

RelPoseRectRelPoseRectRelPoseRectrelPoseRectrel_pose_rect (input_control)  pose HPose, HTupleSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Pose of the rectified camera 2 in relation to the rectified camera 1.

Number of elements: 7

Row1Row1Row1row1row_1 (input_control)  number(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row coordinate of a point in the rectified image 1.

Col1Col1Col1col1col_1 (input_control)  number(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column coordinate of a point in the rectified image 1.

DisparityDisparityDisparitydisparitydisparity (input_control)  number(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Disparity of the images of the world point.

XXXxx (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

X coordinate of the 3D point.

YYYyy (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Y coordinate of the 3D point.

ZZZzz (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Z coordinate of the 3D point.

Result

disparity_to_point_3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3ddisparity_to_point_3d returns 2 ( H_MSG_TRUE) if all parameter values are correct. If necessary, an exception is raised.

Possible Predecessors

binocular_calibrationbinocular_calibrationBinocularCalibrationBinocularCalibrationbinocular_calibration, gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map

Alternatives

disparity_image_to_xyzdisparity_image_to_xyzDisparityImageToXyzDisparityImageToXyzdisparity_image_to_xyz

See also

binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparitybinocular_disparity, binocular_distancebinocular_distanceBinocularDistanceBinocularDistancebinocular_distance, intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSightintersect_lines_of_sight

Module

3D Metrology