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 Sx,Sy, the coordinates of the principal point (Cx,Cy) and the distortion coefficient kappa. For a more detailed description see the operator camera_calibration. Only cameras with a distortion coefficient equal to zero project straight lines in the world onto straight lines in the image. Then, image projection is a linear mapping and the camera, i.e. the set of internal parameters, can be described by the camera matrix CamMat:
/ f/Sx 0 Cx \
CamMat = | 0 f/Sy Cy | .
\ 0 0 1 /
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 E=([t]_x R)^T,
the essential matrix E is derived from the translation t
and the rotation R of the relative pose RelPose
(see also operator vector_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_matrix:
-T T -1
FMatrix = CamMat2 * ([t]_x R) * CamMat1 .
The transformation from a relative pose to a fundamental matrix
goes along with the propagation of the covariance matrices
CovRelPose to CovFMat. If CovRelPose is empty
CovFMat will be empty too.
The conversion operator rel_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.
|
RelPose (input_control) |
pose-array -> real / integer |
| Relative orientation of the cameras (3D pose). | |
|
CovRelPose (input_control) |
number-array -> real / integer |
| 6x6 covariance matrix of relative pose. | |
| Default value: '[]' | |
|
CamPar1 (input_control) |
number-array -> real / integer |
| Parameters of the 1. camera. | |
|
CamPar2 (input_control) |
number-array -> real / integer |
| Parameters of the 2. camera. | |
|
FMatrix (output_control) |
hom_mat2d-array -> real |
| Computed fundamental matrix. | |
|
CovFMat (output_control) |
real-array -> real |
| 9x9 covariance matrix of the fundamental matrix. | |
rel_pose_to_fundamental_matrix is reentrant and processed without parallelization.
essential_to_fundamental_matrix
3D Metrology