reconst3d_from_fundamental_matrix ( : : Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovCC2, FMatrix, CovFMat : X, Y, Z, W, CovXYZW )

Compute the projective 3d reconstruction of points based on the fundamental matrix.

A pair of stereo images is called weakly calibrated if the fundamental matrix, which defines the geometric relation between the two images, is known. Given such a fundamental matrix FMatrix and a set of corresponding points (Rows1,Cols1) and (Rows2,Cols2) the operator reconst3d_from_fundamental_matrix determines the three-dimensional space points projecting onto these image points. This 3D reconstruction is purely projective and the projective coordinates are returned by the four-vector (X,Y,Z,W). This type of reconstruction is also known as projective triangulation. If additionally the covariances CovRR1, CovRC1, CovCC1 and CovRR2, CovRC2, CovCC2 of the image points are given the covariances of the reconstructed points CovXYZW are computed too. Let n be the number of points. Then the concatenated covariances are stored in a 16xn tuple. The computation of the covariances is more precise if the covariance of the fundamental matrix CovFMat is provided.

The operator reconst3d_from_fundamental_matrix is typically used after match_fundamental_matrix_ransac to perform 3d reconstruction. This will save computational cost compared with the deployment of vector_to_fundamental_matrix.

reconst3d_from_fundamental_matrix is the projective equivalent to the euclidian reconstruction operator intersect_lines_of_sight.


Parameters

Rows1 (input_control)
number(-array) -> real / integer
Input points in image 1 (row coordinate).

Cols1 (input_control)
number(-array) -> real / integer
Input points in image 1 (column coordinate).

Rows2 (input_control)
number(-array) -> real / integer
Input points in image 2 (row coordinate).

Cols2 (input_control)
number(-array) -> real / integer
Input points in image 2 (column coordinate).

CovRR1 (input_control)
number(-array) -> real / integer
Row coordinate variance of the points in image 1.
Default value: '[]'

CovRC1 (input_control)
number(-array) -> real / integer
Covariance of the points in image 1.
Default value: '[]'

CovCC1 (input_control)
number(-array) -> real / integer
Column coordinate variance of the points in image 1.
Default value: '[]'

CovRR2 (input_control)
number(-array) -> real / integer
Row coordinate variance of the points in image 2.
Default value: '[]'

CovRC2 (input_control)
number(-array) -> real / integer
Covariance of the points in image 2.
Default value: '[]'

CovCC2 (input_control)
number(-array) -> real / integer
Column coordinate variance of the points in image 2.
Default value: '[]'

FMatrix (input_control)
hom_mat2d-array -> real
Fundamental matrix.

CovFMat (input_control)
real-array -> real
9x9 covariance matrix of the fundamental matrix.
Default value: '[]'

X (output_control)
real(-array) -> real
X coordinates of the reconstructed points in projective 3D space.

Y (output_control)
real(-array) -> real
Y coordinates of the reconstructed points in projective 3D space.

Z (output_control)
real(-array) -> real
Z coordinates of the reconstructed points in projective 3D space.

W (output_control)
real(-array) -> real
W coordinates of the reconstructed points in projective 3D space.

CovXYZW (output_control)
real(-array) -> real
Covariance matrices of the reconstructed points.


Parallelization Information

reconst3d_from_fundamental_matrix is reentrant and processed without parallelization.


Possible Predecessors

match_fundamental_matrix_ransac


Alternatives

vector_to_fundamental_matrix, intersect_lines_of_sight


References

Richard Hartley, Andrew Zisserman: ``Multiple View Geometry in Computer Vision''; Cambridge University Press, Cambridge; 2000.


Module

3D Metrology



Copyright © 1996-2008 MVTec Software GmbH