disparity_image_to_xyzT_disparity_image_to_xyzDisparityImageToXyzDisparityImageToXyz (Operator)

Name

disparity_image_to_xyzT_disparity_image_to_xyzDisparityImageToXyzDisparityImageToXyz — Berechnet aus einem Disparitätsbild eines rektifizierten Bildpaars die zugehörigen 3D-Punkte.

Signatur

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)

Beschreibung

Aus dem Disparitätsbild DisparityDisparityDisparityDisparitydisparity eines rektifizierten binokularen Stereosystems berechnet disparity_image_to_xyzdisparity_image_to_xyzDisparityImageToXyzDisparityImageToXyzDisparityImageToXyz die korrespondierenden 3D-Punkte. Ihre Koordinaten bezüglich der rektifizierten Kamera 1 werden als Grauwerte in den Bildern XXXXx, YYYYy und ZZZZz zurückgegeben, d.h. die Pixel an der Position (Row,Colum) in XXXXx, YYYYy und ZZZZz enthalten die X-, Y- und Z-Koordinate des Pixels (Row,Colum) im Disparitätsbild.

Das rektifizierte binokulare Kamerasystem wird durch die internen Kameraparameter CamParamRect1CamParamRect1CamParamRect1CamParamRect1camParamRect1 der rektifizierten Kamera 1 und CamParamRect2CamParamRect2CamParamRect2CamParamRect2camParamRect2 der rektifizierten Kamera 2 und die externen Parameter RelPoseRectRelPoseRectRelPoseRectRelPoseRectrelPoseRect bestimmt. Letzteres ist eine Pose, die in der Form erwartet wird. Das heißt, sie beschreibt die Lage des rektifizierten Kamerasystems 2 (ccR2) bezüglich des rektifizierten Kamerasystems 1 (ccR1). Siehe auch Transformationen / Posen und „Solution Guide III-C - 3D Vision“. Die Werte für diese Kameraparameter können von den Operatoren calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCameras und gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMap erhalten werden.

Achtung

Stereosysteme, die sowohl Kameras mit hyperzentrischen Objektiven als auch Kameras ohne hyperzentrische Objektive enthalten, werden nicht unterstützt.

Ausführungsinformationen

Parameter

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

Disparitätsbild.

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

X-Koordinaten der Punkte im rektifizierten Kamerasystem 1.

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

Y-Koordinaten der Punkte im rektifizierten Kamerasystem 1.

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

Z-Koordinaten der Punkte im rektifizierten Kamerasystem 1.

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

Interne Kameraparameter der rektifizierten Kamera 1.

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

Interne Kameraparameter der rektifizierten Kamera 2.

RelPoseRectRelPoseRectRelPoseRectRelPoseRectrelPoseRect (input_control)  pose HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Lage der zweiten rektifizierten Kamera bzgl. der ersten rektifizierten Kamera.

Parameteranzahl: 7

Beispiel (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)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert disparity_image_to_xyzdisparity_image_to_xyzDisparityImageToXyzDisparityImageToXyzDisparityImageToXyz den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (kein Eingabebild vorhanden) lässt sich mittels 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>) festlegen. Das Verhalten bei einer leeren Region (Region ist die leere Menge) wird mit 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>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparityBinocularDisparity

Nachfolger

thresholdthresholdThresholdThresholdThreshold, write_imagewrite_imageWriteImageWriteImageWriteImage

Alternativen

disparity_to_point_3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3dDisparityToPoint3d, binocular_distancebinocular_distanceBinocularDistanceBinocularDistanceBinocularDistance

Siehe auch

binocular_calibrationbinocular_calibrationBinocularCalibrationBinocularCalibrationBinocularCalibration, gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMap, intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSightIntersectLinesOfSight

Modul

3D Metrology