reconst3d_from_fundamental_matrixT_reconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrix (Operator)

Name

reconst3d_from_fundamental_matrixT_reconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrix — Berechnung der projektiven 3D Rekonstruktion von Punkten für eine gegebene Fundamental-Matrix.

Signatur

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

Herror T_reconst3d_from_fundamental_matrix(const Htuple Rows1, const Htuple Cols1, const Htuple Rows2, const Htuple Cols2, const Htuple CovRR1, const Htuple CovRC1, const Htuple CovCC1, const Htuple CovRR2, const Htuple CovRC2, const Htuple CovCC2, const Htuple FMatrix, const Htuple CovFMat, Htuple* X, Htuple* Y, Htuple* Z, Htuple* W, Htuple* CovXYZW)

void Reconst3dFromFundamentalMatrix(const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CovRR1, const HTuple& CovRC1, const HTuple& CovCC1, const HTuple& CovRR2, const HTuple& CovRC2, const HTuple& CovCC2, const HTuple& FMatrix, const HTuple& CovFMat, HTuple* X, HTuple* Y, HTuple* Z, HTuple* W, HTuple* CovXYZW)

void HHomMat2D::Reconst3dFromFundamentalMatrix(const HTuple& Rows1, const HTuple& Cols1, const HTuple& Rows2, const HTuple& Cols2, const HTuple& CovRR1, const HTuple& CovRC1, const HTuple& CovCC1, const HTuple& CovRR2, const HTuple& CovRC2, const HTuple& CovCC2, const HTuple& CovFMat, HTuple* X, HTuple* Y, HTuple* Z, HTuple* W, HTuple* CovXYZW) const

void HHomMat2D::Reconst3dFromFundamentalMatrix(double Rows1, double Cols1, double Rows2, double Cols2, double CovRR1, double CovRC1, double CovCC1, double CovRR2, double CovRC2, double CovCC2, const HTuple& CovFMat, double* X, double* Y, double* Z, double* W, double* CovXYZW) const

static void HOperatorSet.Reconst3dFromFundamentalMatrix(HTuple rows1, HTuple cols1, HTuple rows2, HTuple cols2, HTuple covRR1, HTuple covRC1, HTuple covCC1, HTuple covRR2, HTuple covRC2, HTuple covCC2, HTuple FMatrix, HTuple covFMat, out HTuple x, out HTuple y, out HTuple z, out HTuple w, out HTuple covXYZW)

void HHomMat2D.Reconst3dFromFundamentalMatrix(HTuple rows1, HTuple cols1, HTuple rows2, HTuple cols2, HTuple covRR1, HTuple covRC1, HTuple covCC1, HTuple covRR2, HTuple covRC2, HTuple covCC2, HTuple covFMat, out HTuple x, out HTuple y, out HTuple z, out HTuple w, out HTuple covXYZW)

void HHomMat2D.Reconst3dFromFundamentalMatrix(double rows1, double cols1, double rows2, double cols2, double covRR1, double covRC1, double covCC1, double covRR2, double covRC2, double covCC2, HTuple covFMat, out double x, out double y, out double z, out double w, out double covXYZW)

Beschreibung

Ein Bildpaar wird schwach kalibriert genannt, wenn die Fundamental-Matrix bekannt ist. Sei eine solche Fundamental-Matrix FMatrixFMatrixFMatrixFMatrixFMatrix und eine Menge von korrespondierenden Punkten (Rows1Rows1Rows1Rows1rows1,Cols1Cols1Cols1Cols1cols1) und (Rows2Rows2Rows2Rows2rows2,Cols2Cols2Cols2Cols2cols2) gegeben, so bestimmt der Operator reconst3d_from_fundamental_matrixreconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrix die Raumpunkte, welche auf die entsprechenden Bildpunkte abgebildet werden. Diese dreidimensionale Rekonstruktion ist rein projektiv, und die projektiven Koordinaten werden in dem Vektor (XXXXx,YYYYy,ZZZZz,WWWWw) zurückgegeben. Diese Art der Rekonstuktion wird auch projektive Triangulation genannt. Sind zusätzlich die Kovarianzen CovRR1CovRR1CovRR1CovRR1covRR1, CovRC1CovRC1CovRC1CovRC1covRC1, CovCC1CovCC1CovCC1CovCC1covCC1 und CovRR2CovRR2CovRR2CovRR2covRR2, CovRC2CovRC2CovRC2CovRC2covRC2, CovCC2CovCC2CovCC2CovCC2covCC2 der Bildpunkte bekannt, so werden auch die Kovarianzen CovXYZWCovXYZWCovXYZWCovXYZWcovXYZW der rekonstruierten Punkte berechnet. Ist n die Anzahl der Korrespondenzen, so werden die Kovarianzen in einem 9xn langen Tupel aneinandergehängt. Die Berechnung der Kovarianzen wird noch genauer, wenn weiterhin die Kovarianz der Fundamental-Matrix CovFMatCovFMatCovFMatCovFMatcovFMat als Eingabe zu Verfügung steht.

Der Operator reconst3d_from_fundamental_matrixreconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrix wird typischerweise nach match_fundamental_matrix_ransacmatch_fundamental_matrix_ransacMatchFundamentalMatrixRansacMatchFundamentalMatrixRansacMatchFundamentalMatrixRansac aufgerufen, wenn eine 3D Rekonstruktion gewünscht ist. Dies spart Rechenzeit gegenüber der Verwendung des Operators vector_to_fundamental_matrixvector_to_fundamental_matrixVectorToFundamentalMatrixVectorToFundamentalMatrixVectorToFundamentalMatrix.

reconst3d_from_fundamental_matrixreconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrix ist das projektive Pendant zur euklidischen Rekonstruktion mittels des Operators intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSightIntersectLinesOfSight.

Ausführungsinformationen

Parameter

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

Eingabepunkte in Bild 1 (Zeilenkoordinate).

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

Eingabepunkte in Bild 1 (Spaltenkoordinate).

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

Eingabepunkte in Bild 2 (Zeilenkoordinate).

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

Eingabepunkte in Bild 2 (Spaltenkoordinate).

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

Varianz in Zeilenrichtung der Punkte in Bild 1.

Defaultwert: []

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

Kovarianz der Punkte in Bild 1.

Defaultwert: []

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

Varianz in Spaltenrichtung der Punkte in Bild 1.

Defaultwert: []

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

Varianz in Zeilenrichtung der Punkte in Bild 2.

Defaultwert: []

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

Kovarianz der Punkte in Bild 2.

Defaultwert: []

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

Varianz in Spaltenrichtung der Punkte in Bild 2.

Defaultwert: []

FMatrixFMatrixFMatrixFMatrixFMatrix (input_control)  hom_mat2d HHomMat2D, HTupleHTupleHtuple (real) (double) (double) (double)

Fundamental-Matrix.

CovFMatCovFMatCovFMatCovFMatcovFMat (input_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

9x9 Kovarianzmatrix der Fundamental-Matrix.

Defaultwert: []

XXXXx (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

X-Koordinaten der rekonstruierten Punkte im projektiven Raum.

YYYYy (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Y-Koordinaten der rekonstruierten Punkte im projektiven Raum.

ZZZZz (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Z-Koordinaten der rekonstruierten Punkte im projektiven Raum.

WWWWw (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

W-Koordinaten der rekonstruierten Punkte im projektiven Raum.

CovXYZWCovXYZWCovXYZWCovXYZWcovXYZW (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Kovarianzmatrizen der rekonstruierten Punkte.

Vorgänger

match_fundamental_matrix_ransacmatch_fundamental_matrix_ransacMatchFundamentalMatrixRansacMatchFundamentalMatrixRansacMatchFundamentalMatrixRansac

Alternativen

vector_to_fundamental_matrixvector_to_fundamental_matrixVectorToFundamentalMatrixVectorToFundamentalMatrixVectorToFundamentalMatrix, intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSightIntersectLinesOfSight

Literatur

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

Modul

3D Metrology