reconst3d_from_fundamental_matrixT_reconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixreconst3d_from_fundamental_matrix (Operator)

Name

reconst3d_from_fundamental_matrixT_reconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixreconst3d_from_fundamental_matrix — 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)

def reconst3d_from_fundamental_matrix(rows_1: MaybeSequence[Union[float, int]], cols_1: MaybeSequence[Union[float, int]], rows_2: MaybeSequence[Union[float, int]], cols_2: MaybeSequence[Union[float, int]], cov_rr1: MaybeSequence[Union[float, int]], cov_rc1: MaybeSequence[Union[float, int]], cov_cc1: MaybeSequence[Union[float, int]], cov_rr2: MaybeSequence[Union[float, int]], cov_rc2: MaybeSequence[Union[float, int]], cov_cc2: MaybeSequence[Union[float, int]], fmatrix: Sequence[float], cov_fmat: Sequence[float]) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]

def reconst3d_from_fundamental_matrix_s(rows_1: MaybeSequence[Union[float, int]], cols_1: MaybeSequence[Union[float, int]], rows_2: MaybeSequence[Union[float, int]], cols_2: MaybeSequence[Union[float, int]], cov_rr1: MaybeSequence[Union[float, int]], cov_rc1: MaybeSequence[Union[float, int]], cov_cc1: MaybeSequence[Union[float, int]], cov_rr2: MaybeSequence[Union[float, int]], cov_rc2: MaybeSequence[Union[float, int]], cov_cc2: MaybeSequence[Union[float, int]], fmatrix: Sequence[float], cov_fmat: Sequence[float]) -> Tuple[float, float, float, float, float]

Beschreibung

Ein Bildpaar wird schwach kalibriert genannt, wenn die Fundamental-Matrix bekannt ist. Sei eine solche Fundamental-Matrix FMatrixFMatrixFMatrixFMatrixFMatrixfmatrix und eine Menge von korrespondierenden Punkten (Rows1Rows1Rows1Rows1rows1rows_1,Cols1Cols1Cols1Cols1cols1cols_1) und (Rows2Rows2Rows2Rows2rows2rows_2,Cols2Cols2Cols2Cols2cols2cols_2) gegeben, so bestimmt der Operator reconst3d_from_fundamental_matrixreconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixreconst3d_from_fundamental_matrix die Raumpunkte, welche auf die entsprechenden Bildpunkte abgebildet werden. Diese dreidimensionale Rekonstruktion ist rein projektiv, und die projektiven Koordinaten werden in dem Vektor (XXXXxx,YYYYyy,ZZZZzz,WWWWww) zurückgegeben. Diese Art der Rekonstruktion wird auch projektive Triangulierung genannt. Sind zusätzlich die Kovarianzen CovRR1CovRR1CovRR1CovRR1covRR1cov_rr1, CovRC1CovRC1CovRC1CovRC1covRC1cov_rc1, CovCC1CovCC1CovCC1CovCC1covCC1cov_cc1 und CovRR2CovRR2CovRR2CovRR2covRR2cov_rr2, CovRC2CovRC2CovRC2CovRC2covRC2cov_rc2, CovCC2CovCC2CovCC2CovCC2covCC2cov_cc2 der Bildpunkte bekannt, so werden auch die Kovarianzen CovXYZWCovXYZWCovXYZWCovXYZWcovXYZWcov_xyzw 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 CovFMatCovFMatCovFMatCovFMatcovFMatcov_fmat als Eingabe zu Verfügung steht.

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

reconst3d_from_fundamental_matrixreconst3d_from_fundamental_matrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixReconst3dFromFundamentalMatrixreconst3d_from_fundamental_matrix ist das projektive Pendant zur euklidischen Rekonstruktion mittels des Operators intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSightIntersectLinesOfSightintersect_lines_of_sight.

Ausführungsinformationen

Parameter

Rows1Rows1Rows1Rows1rows1rows_1 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Eingabepunkte in Bild 1 (Zeilenkoordinate).

Cols1Cols1Cols1Cols1cols1cols_1 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Eingabepunkte in Bild 1 (Spaltenkoordinate).

Rows2Rows2Rows2Rows2rows2rows_2 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Eingabepunkte in Bild 2 (Zeilenkoordinate).

Cols2Cols2Cols2Cols2cols2cols_2 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Eingabepunkte in Bild 2 (Spaltenkoordinate).

CovRR1CovRR1CovRR1CovRR1covRR1cov_rr1 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Varianz in Zeilenrichtung der Punkte in Bild 1.

Defaultwert: []

CovRC1CovRC1CovRC1CovRC1covRC1cov_rc1 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Kovarianz der Punkte in Bild 1.

Defaultwert: []

CovCC1CovCC1CovCC1CovCC1covCC1cov_cc1 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Varianz in Spaltenrichtung der Punkte in Bild 1.

Defaultwert: []

CovRR2CovRR2CovRR2CovRR2covRR2cov_rr2 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Varianz in Zeilenrichtung der Punkte in Bild 2.

Defaultwert: []

CovRC2CovRC2CovRC2CovRC2covRC2cov_rc2 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Kovarianz der Punkte in Bild 2.

Defaultwert: []

CovCC2CovCC2CovCC2CovCC2covCC2cov_cc2 (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Varianz in Spaltenrichtung der Punkte in Bild 2.

Defaultwert: []

FMatrixFMatrixFMatrixFMatrixFMatrixfmatrix (input_control)  hom_mat2d HHomMat2D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Fundamental-Matrix.

CovFMatCovFMatCovFMatCovFMatcovFMatcov_fmat (input_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

9x9 Kovarianzmatrix der Fundamental-Matrix.

Defaultwert: []

XXXXxx (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

X-Koordinaten der rekonstruierten Punkte im projektiven Raum.

YYYYyy (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Y-Koordinaten der rekonstruierten Punkte im projektiven Raum.

ZZZZzz (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Z-Koordinaten der rekonstruierten Punkte im projektiven Raum.

WWWWww (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

W-Koordinaten der rekonstruierten Punkte im projektiven Raum.

CovXYZWCovXYZWCovXYZWCovXYZWcovXYZWcov_xyzw (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Kovarianzmatrizen der rekonstruierten Punkte.

Vorgänger

match_fundamental_matrix_ransacmatch_fundamental_matrix_ransacMatchFundamentalMatrixRansacMatchFundamentalMatrixRansacMatchFundamentalMatrixRansacmatch_fundamental_matrix_ransac

Alternativen

vector_to_fundamental_matrixvector_to_fundamental_matrixVectorToFundamentalMatrixVectorToFundamentalMatrixVectorToFundamentalMatrixvector_to_fundamental_matrix, intersect_lines_of_sightintersect_lines_of_sightIntersectLinesOfSightIntersectLinesOfSightIntersectLinesOfSightintersect_lines_of_sight

Literatur

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

Modul

3D Metrology