ClassesClasses | | Operators

essential_to_fundamental_matrixT_essential_to_fundamental_matrixEssentialToFundamentalMatrixEssentialToFundamentalMatrix (Operator)

Name

essential_to_fundamental_matrixT_essential_to_fundamental_matrixEssentialToFundamentalMatrixEssentialToFundamentalMatrix — Compute the fundamental matrix from an essential matrix.

Signature

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

Herror T_essential_to_fundamental_matrix(const Htuple EMatrix, const Htuple CovEMat, const Htuple CamMat1, const Htuple CamMat2, Htuple* FMatrix, Htuple* CovFMat)

void EssentialToFundamentalMatrix(const HTuple& EMatrix, const HTuple& CovEMat, const HTuple& CamMat1, const HTuple& CamMat2, HTuple* FMatrix, HTuple* CovFMat)

HHomMat2D HHomMat2D::EssentialToFundamentalMatrix(const HTuple& CovEMat, const HHomMat2D& CamMat1, const HHomMat2D& CamMat2, HTuple* CovFMat) const

static void HOperatorSet.EssentialToFundamentalMatrix(HTuple EMatrix, HTuple covEMat, HTuple camMat1, HTuple camMat2, out HTuple FMatrix, out HTuple covFMat)

HHomMat2D HHomMat2D.EssentialToFundamentalMatrix(HTuple covEMat, HHomMat2D camMat1, HHomMat2D camMat2, out HTuple covFMat)

Description

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

Image coordinates result from 3D direction vectors by multiplication with the camera matrix CamMat:
Therefore, the fundamental matrix FMatrixFMatrixFMatrixFMatrixFMatrix is calculated from the essential matrix EMatrixEMatrixEMatrixEMatrixEMatrix and the camera matrices CamMat1CamMat1CamMat1CamMat1camMat1, CamMat2CamMat2CamMat2CamMat2camMat2 by the following formula:
The transformation of the essential matrix to the fundamental matrix goes along with the propagation of the covariance matrices CovEMatCovEMatCovEMatCovEMatcovEMat to CovFMatCovFMatCovFMatCovFMatcovFMat. If CovEMatCovEMatCovEMatCovEMatcovEMat is empty CovFMatCovFMatCovFMatCovFMatcovFMat will be empty too.

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

Execution Information

Parameters

EMatrixEMatrixEMatrixEMatrixEMatrix (input_control)  hom_mat2d HHomMat2D, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Essential matrix.

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

9x9 covariance matrix of the essential matrix.

Default value: []

CamMat1CamMat1CamMat1CamMat1camMat1 (input_control)  hom_mat2d HHomMat2D, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Camera matrix of the 1. camera.

CamMat2CamMat2CamMat2CamMat2camMat2 (input_control)  hom_mat2d HHomMat2D, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Camera matrix 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

vector_to_essential_matrixvector_to_essential_matrixVectorToEssentialMatrixVectorToEssentialMatrixVectorToEssentialMatrix

Alternatives

rel_pose_to_fundamental_matrixrel_pose_to_fundamental_matrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrixRelPoseToFundamentalMatrix

Module

3D Metrology


ClassesClasses | | Operators