Operators

# rel_pose_to_fundamental_matrix (Operator)

## Name

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

## 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 operator calibrate_cameras. 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 cameras with tilt lenses. rel_pose_to_fundamental_matrix handles tilt lenses correctly. However, for reasons of simplicity, tilt lenses 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 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:
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.

## Parallelization

• Multithreading type: reentrant (runs in parallel with non-exclusive operators).
• Processed without parallelization.

## Parameters

RelPose (input_control)  pose (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.

Number of elements: CamPar1 == 8 || CamPar1 == 10 || CamPar1 == 12 || CamPar1 == 14

CamPar2 (input_control)  number-array (real / integer)

Parameters of the 2. camera.

Number of elements: CamPar2 == 8 || CamPar2 == 10 || CamPar2 == 12 || CamPar2 == 14

FMatrix (output_control)  hom_mat2d (real)

Computed fundamental matrix.

CovFMat (output_control)  real-array (real)

9x9 covariance matrix of the fundamental matrix.