essential_to_fundamental_matrix ( : : EMatrix, CovEMat, CamMat1, CamMat2 : FMatrix, CovFMat )

Compute the fundamental matrix from an essential matrix.

The fundamental matrix is the entity describing the epipolar constraint in image coordinates (C,R) and the essential matrix is its counterpart for 3D direction vectors (X,Y,1):

             T                                     T
     / C2 \             / C1 \           / X2 \             / X1 \
     | R2 | * FMatrix * | R1 | = 0  and  | Y2 | * EMatrix * | Y1 | = 0 . 
     \  1 /             \  1 /           \  1 /             \  1 /
Image coordinates result from 3D direction vectors by multiplication with the camera matrix CamMat:
     / C \              / X \
     | R |  =  CamMat * | Y | = 0 .
     \ 1 /              \ 1 /
Therefore, the fundamental matrix FMatrix is calculated from the essential matrix EMatrix and the camera matrices CamMat1, CamMat2 by the following formula:
                        -T                    -1
     FMatrix  =  CamMat2   * EMatrix * CamMat1    .
The transformation of the essential matrix to the fundamental matrix goes along with the propagation of the covariance matrices CovEMat to CovFMat. If CovEMat is empty CovFMat will be empty too.

The conversion operator essential_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.


Parameters

EMatrix (input_control)
hom_mat2d-array -> real / integer
Essential matrix.

CovEMat (input_control)
number-array -> real / integer
9x9 covariance matrix of the essential matrix.
Default value: '[]'

CamMat1 (input_control)
hom_mat2d-array -> real / integer
Camera matrix of the 1. camera.

CamMat2 (input_control)
hom_mat2d-array -> real / integer
Camera matrix 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.


Parallelization Information

essential_to_fundamental_matrix is reentrant and processed without parallelization.


Possible Predecessors

vector_to_essential_matrix


Alternatives

rel_pose_to_fundamental_matrix


Module

3D Metrology



Copyright © 1996-2008 MVTec Software GmbH