HALCON Reference Manual 10.0.2
Table of Contents / 3D Reconstruction / Binocular Stereo ClassesClassesClasses | | | Operators

intersect_lines_of_sightT_intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSight (Operator)

Name

intersect_lines_of_sightT_intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSight — Get a 3D point from the intersection of two lines of sight within a binocular camera system.

Signature

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

Description

Given two lines of sight from different cameras, specified by their image points (Row1Row1Row1Row1row1,Col1Col1Col1Col1col1) of camera 1 and (Row2Row2Row2Row2row2,Col2Col2Col2Col2col2) of camera 2, intersect_lines_of_sightintersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSight computes the 3D point of intersection of these lines. The binocular camera system is specified by its internal camera parameters CamParam1CamParam1CamParam1CamParam1camParam1 of the projective camera 1 and CamParam2CamParam2CamParam2CamParam2camParam2 of the projective camera 2, and the external parameters RelPoseRelPoseRelPoseRelPoserelPose defining the pose of the cameras by a point transformation from camera 2 to camera 1. These camera parameters can be obtained, e.g., from the operator calibrate_camerascalibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCameras, if the coordinates of the image points (Row1Row1Row1Row1row1,Col1Col1Col1Col1col1) and (Row2Row2Row2Row2row2,Col2Col2Col2Col2col2) refer to the respective original image coordinate system. In case of rectified image coordinates ( e.g., obtained from rectified images), the rectified camera parameters must be passed, as they are returned by the operator gen_binocular_rectification_mapgen_binocular_rectification_mapgen_binocular_rectification_mapGenBinocularRectificationMapGenBinocularRectificationMap. The 'point of intersection' is defined by the point with the shortest distance to both lines of sight. This point is returned in Cartesian coordinates (XXXXx,YYYYy,ZZZZz) of camera system 1 and its distance to the lines of sight is passed in DistDistDistDistdist.

Parallelization

Parameters

CamParam1CamParam1CamParam1CamParam1camParam1 (input_control)  number-array HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Internal parameters of the projective camera 1.

Number of elements: (CamParam1 == 8) || (CamParam1 == 12)

CamParam2CamParam2CamParam2CamParam2camParam2 (input_control)  number-array HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Internal parameters of the projective camera 2.

Number of elements: (CamParam2 == 8) || (CamParam2 == 12)

RelPoseRelPoseRelPoseRelPoserelPose (input_control)  pose-array HPose, HTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Point transformation from camera 2 to camera 1.

Number of elements: 7

Row1Row1Row1Row1row1 (input_control)  number(-array) HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Row coordinate of a point in image 1.

Col1Col1Col1Col1col1 (input_control)  number(-array) HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Column coordinate of a point in image 1.

Row2Row2Row2Row2row2 (input_control)  number(-array) HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Row coordinate of the corresponding point in image 2.

Col2Col2Col2Col2col2 (input_control)  number(-array) HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)

Column coordinate of the corresponding point in image 2.

XXXXx (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

X coordinate of the 3D point.

YYYYy (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Y coordinate of the 3D point.

ZZZZz (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Z coordinate of the 3D point.

DistDistDistDistdist (output_control)  real(-array) HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Distance of the 3D point to the lines of sight.

Result

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

Possible Predecessors

binocular_calibrationbinocular_calibrationbinocular_calibrationBinocularCalibrationBinocularCalibration

See also

disparity_to_point_3ddisparity_to_point_3ddisparity_to_point_3dDisparityToPoint3dDisparityToPoint3d

Module

3D Metrology


Table of Contents / 3D Reconstruction / Binocular Stereo ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH