rel_pose_to_fundamental_matrixT_rel_pose_to_fundamental_matrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrix — Compute the fundamental matrix from the relative orientation of two
cameras.
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_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
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).