KlassenKlassenKlassenKlassen | | | | Operatoren

intersect_lines_of_sightT_intersect_lines_of_sightIntersectLinesOfSightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSight (Operator)

Name

intersect_lines_of_sightT_intersect_lines_of_sightIntersectLinesOfSightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSight — Berechnet einen Weltpunkt aus dem Schnitt von zwei Sichtlinien in einem binokularen Kamerasystem.

Signatur

intersect_lines_of_sight( : : CamParam1, CamParam2, RelPose, Row1, Col1, Row2, Col2 : X, Y, Z, Dist)

Herror T_intersect_lines_of_sight(const Htuple CamParam1, const Htuple CamParam2, const Htuple RelPose, const Htuple Row1, const Htuple Col1, const Htuple Row2, const Htuple Col2, Htuple* X, Htuple* Y, Htuple* Z, Htuple* Dist)

Herror intersect_lines_of_sight(const HTuple& CamParam1, const HTuple& CamParam2, const HTuple& RelPose, const HTuple& Row1, const HTuple& Col1, const HTuple& Row2, const HTuple& Col2, double* X, double* Y, double* Z, double* Dist)

Herror intersect_lines_of_sight(const HTuple& CamParam1, const HTuple& CamParam2, const HTuple& RelPose, const HTuple& Row1, const HTuple& Col1, const HTuple& Row2, const HTuple& Col2, HTuple* X, HTuple* Y, HTuple* Z, HTuple* Dist)

void IntersectLinesOfSight(const HTuple& CamParam1, const HTuple& CamParam2, const HTuple& RelPose, const HTuple& Row1, const HTuple& Col1, const HTuple& Row2, const HTuple& Col2, HTuple* X, HTuple* Y, HTuple* Z, HTuple* Dist)

static void HMisc::IntersectLinesOfSight(const HTuple& CamParam1, const HTuple& CamParam2, const HPose& RelPose, const HTuple& Row1, const HTuple& Col1, const HTuple& Row2, const HTuple& Col2, HTuple* X, HTuple* Y, HTuple* Z, HTuple* Dist)

static void HMisc::IntersectLinesOfSight(const HTuple& CamParam1, const HTuple& CamParam2, const HPose& RelPose, double Row1, double Col1, double Row2, double Col2, double* X, double* Y, double* Z, double* Dist)

void HOperatorSetX.IntersectLinesOfSight(
[in] VARIANT CamParam1, [in] VARIANT CamParam2, [in] VARIANT RelPose, [in] VARIANT Row1, [in] VARIANT Col1, [in] VARIANT Row2, [in] VARIANT Col2, [out] VARIANT* X, [out] VARIANT* Y, [out] VARIANT* Z, [out] VARIANT* Dist)

VARIANT HMiscX.IntersectLinesOfSight(
[in] VARIANT CamParam1, [in] VARIANT CamParam2, [in] VARIANT RelPose, [in] VARIANT Row1, [in] VARIANT Col1, [in] VARIANT Row2, [in] VARIANT Col2, [out] VARIANT* Y, [out] VARIANT* Z, [out] VARIANT* Dist)

static void HOperatorSet.IntersectLinesOfSight(HTuple camParam1, HTuple camParam2, HTuple relPose, HTuple row1, HTuple col1, HTuple row2, HTuple col2, out HTuple x, out HTuple y, out HTuple z, out HTuple dist)

static void HMisc.IntersectLinesOfSight(HTuple camParam1, HTuple camParam2, HPose relPose, HTuple row1, HTuple col1, HTuple row2, HTuple col2, out HTuple x, out HTuple y, out HTuple z, out HTuple dist)

static void HMisc.IntersectLinesOfSight(HTuple camParam1, HTuple camParam2, HPose relPose, double row1, double col1, double row2, double col2, out double x, out double y, out double z, out double dist)

Beschreibung

Ausgehend von zwei Sichtstrahlen von unterschiedlichen Kameras, welche durch die beiden Bildpunkte (Row1Row1Row1Row1Row1row1,Col1Col1Col1Col1Col1col1) in Kamera 1 und (Row1Row1Row1Row1Row1row1,Col1Col1Col1Col1Col1col1) in Kamera 2 festgelegt werden, errechnet intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSight den 3D Schnittpunkt dieser Strahlen. Das binokulare Kamerasystem wird zum einen durch seine internen Parameter CamParam1CamParam1CamParam1CamParam1CamParam1camParam1 der projektiven Kamera 1 und CamParam2CamParam2CamParam2CamParam2CamParam2camParam2 der projektiven Kamera 2 definiert, und zum anderen durch seine externen Parameter RelPoseRelPoseRelPoseRelPoseRelPoserelPose, welche die Lage der Kameras durch eine Punkttransformation von Kamera 2 zu Kamera 1 bestimmen. Diese Kameraparameter erhält man beispielsweise vom Operator calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras, wenn sich die Koordinaten der Bildpunkte (Row1Row1Row1Row1Row1row1,Col1Col1Col1Col1Col1col1) und (Row2Row2Row2Row2Row2row2,Col2Col2Col2Col2Col2col2) auf das entsprechende ursprüngliche Bildkoordinatensystem beziehen. Im Falle von entzerrten Bildkoordinaten (wie man sie von rektifizierten Bildern erhält) müssen die entsprechend entzerrten Kameraparameter übergeben werden, wie sie beispielsweise der Operator gen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMap liefert. Der 'Schnittpunkt' schließlich wird als der Punkt mit dem kleinsten Abstand zu beiden Sichtstrahlen definiert. Dieser Punkt wird in karthesischen Koordinaten (XXXXXx,YYYYYy,ZZZZZz) des Kamerasystems 1 zurückgegeben, seinen Abstand zu den Sichtstrahlen liefert der Parameter DistDistDistDistDistdist.

Parallelisierung

Parameter

CamParam1CamParam1CamParam1CamParam1CamParam1camParam1 (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Interne Parameter der projektiven Kamera 1.

Parameteranzahl: CamParam1 == 8 || CamParam1 == 10 || CamParam1 == 12 || CamParam1 == 14

CamParam2CamParam2CamParam2CamParam2CamParam2camParam2 (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Interne parameter der projektiven Kamera 2.

Parameteranzahl: CamParam2 == 8 || CamParam2 == 10 || CamParam2 == 12 || CamParam2 == 14

RelPoseRelPoseRelPoseRelPoseRelPoserelPose (input_control)  pose HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Punkttransformation von Kamera 2 zu Kamera 1.

Parameteranzahl: 7

Row1Row1Row1Row1Row1row1 (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Zeilenkoordinate eines Punktes im Bild 1.

Col1Col1Col1Col1Col1col1 (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Spaltenkoordinate eines Punktes im Bild 1.

Row2Row2Row2Row2Row2row2 (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Zeilenkoordinate des korrespondierenden Punktes im Bild 2.

Col2Col2Col2Col2Col2col2 (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Spaltenkoordinate des korrespondierenden Punktes im Bild 2.

XXXXXx (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

X-Koordinate des Weltpunktes.

YYYYYy (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Y-Koordinate des Weltpunktes.

ZZZZZz (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Z-Koordinate des Weltpunktes.

DistDistDistDistDistdist (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Abstand des 3D Punktes zu den Sehstrahlen.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert distance_to_disparitydistance_to_disparityDistanceToDisparitydistance_to_disparityDistanceToDisparityDistanceToDisparity den Wert 2 (H_MSG_TRUE).

Vorgänger

binocular_calibrationbinocular_calibrationBinocularCalibrationbinocular_calibrationBinocularCalibrationBinocularCalibration

Siehe auch

disparity_to_point_3ddisparity_to_point_3dDisparityToPoint3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3d

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren