Operator Reference

rel_pose_to_fundamental_matrixT_rel_pose_to_fundamental_matrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrixrel_pose_to_fundamental_matrix (Operator)

rel_pose_to_fundamental_matrixT_rel_pose_to_fundamental_matrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrixrel_pose_to_fundamental_matrix — Compute the fundamental matrix from the relative orientation of two cameras.

Signature

rel_pose_to_fundamental_matrix( : : RelPose, CovRelPose, CamPar1, CamPar2 : FMatrix, CovFMat)

Herror T_rel_pose_to_fundamental_matrix(const Htuple RelPose, const Htuple CovRelPose, const Htuple CamPar1, const Htuple CamPar2, Htuple* FMatrix, Htuple* CovFMat)

void RelPoseToFundamentalMatrix(const HTuple& RelPose, const HTuple& CovRelPose, const HTuple& CamPar1, const HTuple& CamPar2, HTuple* FMatrix, HTuple* CovFMat)

HHomMat2D HCamPar::RelPoseToFundamentalMatrix(const HPose& RelPose, const HTuple& CovRelPose, const HCamPar& CamPar2, HTuple* CovFMat) const

HHomMat2D HPose::RelPoseToFundamentalMatrix(const HTuple& CovRelPose, const HCamPar& CamPar1, const HCamPar& CamPar2, HTuple* CovFMat) const

HTuple HHomMat2D::RelPoseToFundamentalMatrix(const HPose& RelPose, const HTuple& CovRelPose, const HCamPar& CamPar1, const HCamPar& CamPar2)

static void HOperatorSet.RelPoseToFundamentalMatrix(HTuple relPose, HTuple covRelPose, HTuple camPar1, HTuple camPar2, out HTuple FMatrix, out HTuple covFMat)

HHomMat2D HCamPar.RelPoseToFundamentalMatrix(HPose relPose, HTuple covRelPose, HCamPar camPar2, out HTuple covFMat)

HHomMat2D HPose.RelPoseToFundamentalMatrix(HTuple covRelPose, HCamPar camPar1, HCamPar camPar2, out HTuple covFMat)

HTuple HHomMat2D.RelPoseToFundamentalMatrix(HPose relPose, HTuple covRelPose, HCamPar camPar1, HCamPar camPar2)

def rel_pose_to_fundamental_matrix(rel_pose: Sequence[Union[float, int]], cov_rel_pose: Sequence[Union[float, int]], cam_par_1: Sequence[Union[float, int, str]], cam_par_2: Sequence[Union[float, int, str]]) -> Tuple[Sequence[float], Sequence[float]]

Description

Cameras including lens distortions can be modeled by the following set of parameters: the focal length f, two scaling factors , the coordinates of the principal point and the distortion coefficient . For a more detailed description see the chapter Calibration. Only cameras with a distortion coefficient equal to zero project straight lines in the world onto straight lines in the image. This is also true for telecentric cameras and for cameras with tilt lenses. rel_pose_to_fundamental_matrixrel_pose_to_fundamental_matrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrixrel_pose_to_fundamental_matrix handles telecentric lenses and tilt lenses correctly. However, for reasons of simplicity, these lens types are ignored in the formulas below. If the distortion coefficient is equal to zero, image projection is a linear mapping and the camera, i.e., the set of internal parameters, can be described by the camera matrix CamMat: Going from a nonlinear model to a linear model is an approximation of the real underlying camera. For a variety of camera lenses, especially lenses with long focal length, the error induced by this approximation can be neglected. Following the formula , the essential matrix E is derived from the translation t and the rotation R of the relative pose RelPoseRelPoseRelPoserelPoserel_pose (see also operator vector_to_rel_posevector_to_rel_poseVectorToRelPoseVectorToRelPosevector_to_rel_pose). In the linearized framework the fundamental matrix can be calculated from the relative pose and the camera matrices according to the formula presented under essential_to_fundamental_matrixessential_to_fundamental_matrixEssentialToFundamentalMatrixEssentialToFundamentalMatrixessential_to_fundamental_matrix: The transformation from a relative pose to a fundamental matrix goes along with the propagation of the covariance matrices CovRelPoseCovRelPoseCovRelPosecovRelPosecov_rel_pose to CovFMatCovFMatCovFMatcovFMatcov_fmat. If CovRelPoseCovRelPoseCovRelPosecovRelPosecov_rel_pose is empty CovFMatCovFMatCovFMatcovFMatcov_fmat will be empty too.

The conversion operator rel_pose_to_fundamental_matrixrel_pose_to_fundamental_matrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrixrel_pose_to_fundamental_matrix is used especially for a subsequent visualization of the epipolar line structure via the fundamental matrix, which depicts the underlying stereo geometry.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

RelPoseRelPoseRelPoserelPoserel_pose (input_control)  pose HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Relative orientation of the cameras (3D pose).

CovRelPoseCovRelPoseCovRelPosecovRelPosecov_rel_pose (input_control)  number-array HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

6x6 covariance matrix of relative pose.

Default: []

CamPar1CamPar1CamPar1camPar1cam_par_1 (input_control)  campar HCamPar, HTupleSequence[Union[float, int, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Parameters of the 1. camera.

CamPar2CamPar2CamPar2camPar2cam_par_2 (input_control)  campar HCamPar, HTupleSequence[Union[float, int, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Parameters of the 2. camera.

FMatrixFMatrixFMatrixFMatrixfmatrix (output_control)  hom_mat2d HHomMat2D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Computed fundamental matrix.

CovFMatCovFMatCovFMatcovFMatcov_fmat (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

9x9 covariance matrix of the fundamental matrix.

Possible Predecessors

vector_to_rel_posevector_to_rel_poseVectorToRelPoseVectorToRelPosevector_to_rel_pose

Alternatives

essential_to_fundamental_matrixessential_to_fundamental_matrixEssentialToFundamentalMatrixEssentialToFundamentalMatrixessential_to_fundamental_matrix

See also

calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerascalibrate_cameras

Module

3D Metrology