disparity_image_to_xyzT_disparity_image_to_xyzDisparityImageToXyzDisparityImageToXyzdisparity_image_to_xyz (Operator)

Name

disparity_image_to_xyzT_disparity_image_to_xyzDisparityImageToXyzDisparityImageToXyzdisparity_image_to_xyz — 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)

def disparity_image_to_xyz(disparity: HObject, 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]]) -> Tuple[HObject, HObject, HObject]

Beschreibung

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

Das rektifizierte binokulare Kamerasystem wird durch die internen Kameraparameter CamParamRect1CamParamRect1CamParamRect1CamParamRect1camParamRect1cam_param_rect_1 der rektifizierten Kamera 1 und CamParamRect2CamParamRect2CamParamRect2CamParamRect2camParamRect2cam_param_rect_2 der rektifizierten Kamera 2 und die externen Parameter RelPoseRectRelPoseRectRelPoseRectRelPoseRectrelPoseRectrel_pose_rect 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_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras und gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map erhalten werden.

Achtung

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

Ausführungsinformationen

Parameter

DisparityDisparityDisparityDisparitydisparitydisparity (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (real)

Disparitätsbild.

XXXXxx (output_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject * (real)

X-Koordinaten der Punkte im rektifizierten Kamerasystem 1.

YYYYyy (output_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject * (real)

Y-Koordinaten der Punkte im rektifizierten Kamerasystem 1.

ZZZZzz (output_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject * (real)

Z-Koordinaten der Punkte im rektifizierten Kamerasystem 1.

CamParamRect1CamParamRect1CamParamRect1CamParamRect1camParamRect1cam_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*)

Interne Kameraparameter der rektifizierten Kamera 1.

CamParamRect2CamParamRect2CamParamRect2CamParamRect2camParamRect2cam_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*)

Interne Kameraparameter der rektifizierten Kamera 2.

RelPoseRectRelPoseRectRelPoseRectRelPoseRectrelPoseRectrel_pose_rect (input_control)  pose HPose, HTupleSequence[Union[int, float]]HTupleHtuple (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_xyzDisparityImageToXyzDisparityImageToXyzDisparityImageToXyzdisparity_image_to_xyz den Wert 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>)set_system("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>)set_system("empty_region_result",<Result>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

binocular_disparitybinocular_disparityBinocularDisparityBinocularDisparityBinocularDisparitybinocular_disparity

Nachfolger

thresholdthresholdThresholdThresholdThresholdthreshold, write_imagewrite_imageWriteImageWriteImageWriteImagewrite_image

Alternativen

disparity_to_point_3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3dDisparityToPoint3ddisparity_to_point_3d, binocular_distancebinocular_distanceBinocularDistanceBinocularDistanceBinocularDistancebinocular_distance

Siehe auch

binocular_calibrationbinocular_calibrationBinocularCalibrationBinocularCalibrationBinocularCalibrationbinocular_calibration, gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMapGenBinocularRectificationMapgen_binocular_rectification_map, intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSightIntersectLinesOfSightintersect_lines_of_sight

Modul

3D Metrology