rel_pose_to_fundamental_matrixT_rel_pose_to_fundamental_matrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrix (Operator)


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


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)


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 / Multi-View. 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_matrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrix 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 RelPoseRelPoseRelPoseRelPoserelPose (see also operator vector_to_rel_posevector_to_rel_poseVectorToRelPoseVectorToRelPoseVectorToRelPose). 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_matrixEssentialToFundamentalMatrixEssentialToFundamentalMatrixEssentialToFundamentalMatrix: The transformation from a relative pose to a fundamental matrix goes along with the propagation of the covariance matrices CovRelPoseCovRelPoseCovRelPoseCovRelPosecovRelPose to CovFMatCovFMatCovFMatCovFMatcovFMat. If CovRelPoseCovRelPoseCovRelPoseCovRelPosecovRelPose is empty CovFMatCovFMatCovFMatCovFMatcovFMat will be empty too.

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

Execution Information


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

Relative orientation of the cameras (3D pose).

CovRelPoseCovRelPoseCovRelPoseCovRelPosecovRelPose (input_control)  number-array HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

6x6 covariance matrix of relative pose.

Default value: []

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

Parameters of the 1. camera.

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

Parameters of the 2. camera.

FMatrixFMatrixFMatrixFMatrixFMatrix (output_control)  hom_mat2d HHomMat2D, HTupleHTupleHtuple (real) (double) (double) (double)

Computed fundamental matrix.

CovFMatCovFMatCovFMatCovFMatcovFMat (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

9x9 covariance matrix of the fundamental matrix.

Possible Predecessors




See also



3D Metrology