disparity_image_to_xyzT_disparity_image_to_xyzDisparityImageToXyzDisparityImageToXyz (Operator)


disparity_image_to_xyzT_disparity_image_to_xyzDisparityImageToXyzDisparityImageToXyz — Transform a disparity image into 3D points in a rectified stereo system.


disparity_image_to_xyz(Disparity : X, Y, Z : CamParamRect1, CamParamRect2, RelPoseRect : )

Herror T_disparity_image_to_xyz(const Hobject Disparity, Hobject* X, Hobject* Y, Hobject* Z, const Htuple CamParamRect1, const Htuple CamParamRect2, const Htuple RelPoseRect)

void DisparityImageToXyz(const HObject& Disparity, HObject* X, HObject* Y, HObject* Z, const HTuple& CamParamRect1, const HTuple& CamParamRect2, const HTuple& RelPoseRect)

HImage HImage::DisparityImageToXyz(HImage* Y, HImage* Z, const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, const HPose& RelPoseRect) const

HImage HCamPar::DisparityImageToXyz(const HImage& Disparity, HImage* Y, HImage* Z, const HCamPar& CamParamRect2, const HPose& RelPoseRect) const

HImage HPose::DisparityImageToXyz(const HImage& Disparity, HImage* Y, HImage* Z, const HCamPar& CamParamRect1, const HCamPar& CamParamRect2) const

static void HOperatorSet.DisparityImageToXyz(HObject disparity, out HObject x, out HObject y, out HObject z, HTuple camParamRect1, HTuple camParamRect2, HTuple relPoseRect)

HImage HImage.DisparityImageToXyz(out HImage y, out HImage z, HCamPar camParamRect1, HCamPar camParamRect2, HPose relPoseRect)

HImage HCamPar.DisparityImageToXyz(HImage disparity, out HImage y, out HImage z, HCamPar camParamRect2, HPose relPoseRect)

HImage HPose.DisparityImageToXyz(HImage disparity, out HImage y, out HImage z, HCamPar camParamRect1, HCamPar camParamRect2)


Given the disparity image DisparityDisparityDisparityDisparitydisparity of a rectified binocular stereo system, disparity_image_to_xyzdisparity_image_to_xyzDisparityImageToXyzDisparityImageToXyzDisparityImageToXyz computes the corresponding 3D points. Their coordinates relative to the rectified camera 1 are stored as gray values in the images XXXXx, YYYYy, and ZZZZz, i.e., the pixels at the position (Row,Column) in XXXXx, YYYYy, and ZZZZz contain the x, y, and z coordinate, respectively, of the pixel (Row,Column) in the disparity image.

The rectified binocular camera system is specified by its internal camera parameters CamParamRect1CamParamRect1CamParamRect1CamParamRect1camParamRect1 of the rectified camera 1 and CamParamRect2CamParamRect2CamParamRect2CamParamRect2camParamRect2 of the rectified camera 2, and the external parameters RelPoseRectRelPoseRectRelPoseRectRelPoseRectrelPoseRect. The latter one is a pose in the form , thus it defines the relative pose of the rectified camera coordinate system 2 (ccsR2) relative to the rectified camera coordinate system 1 (ccsR1) (see Transformations / Poses and “Solution Guide III-C - 3D Vision”). These camera parameters can be obtained from the operators calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCameras and gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMap.


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

Execution Information


DisparityDisparityDisparityDisparitydisparity (input_object)  singlechannelimage(-array) objectHImageHImageHobject (real)

Disparity image.

XXXXx (output_object)  singlechannelimage(-array) objectHImageHImageHobject * (real)

X coordinates of the points in the rectified camera system 1.

YYYYy (output_object)  singlechannelimage(-array) objectHImageHImageHobject * (real)

Y coordinates of the points in the rectified camera system 1.

ZZZZz (output_object)  singlechannelimage(-array) objectHImageHImageHobject * (real)

Z coordinates of the points in the rectified camera system 1.

CamParamRect1CamParamRect1CamParamRect1CamParamRect1camParamRect1 (input_control)  campar HCamPar, HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Internal camera parameters of the rectified camera 1.

CamParamRect2CamParamRect2CamParamRect2CamParamRect2camParamRect2 (input_control)  campar HCamPar, HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Internal camera parameters of the rectified camera 2.

RelPoseRectRelPoseRectRelPoseRectRelPoseRectrelPoseRect (input_control)  pose HPose, HTupleHTupleHtuple (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

Example (HDevelop)

disparity_image_to_xyz (ImageDisparity, ImgX, ImgY, ImgZ, RectCamParL, \
                        RectCamParR, RectLPosRectR)
get_region_points (ImageDisparity, Rows, Columns)
get_grayval (ImgX, Rows, Columns, XValues)
get_grayval (ImgY, Rows, Columns, YValues)
get_grayval (ImgZ, Rows, Columns, ZValues)


The operator disparity_image_to_xyzdisparity_image_to_xyzDisparityImageToXyzDisparityImageToXyzDisparityImageToXyz returns the value 2 (H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input image available) is set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). The behavior in case of empty region (the region is the empty set) is set via set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors


Possible Successors

thresholdthresholdThresholdThresholdThreshold, write_imagewrite_imageWriteImageWriteImageWriteImage


disparity_to_point_3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3dDisparityToPoint3d, binocular_distancebinocular_distanceBinocularDistanceBinocularDistanceBinocularDistance

See also

binocular_calibrationbinocular_calibrationBinocularCalibrationBinocularCalibrationBinocularCalibration, gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMap, intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSightIntersectLinesOfSight


3D Metrology