25 #ifndef _FMatrixEstimation_h__
26 #define _FMatrixEstimation_h__
28 #include <Base/Common/BIASpragmaStart.hh>
32 #include "Base/Geometry/HomgPoint2D.hh"
33 #include "MathAlgo/PolynomialSolve.hh"
34 #include "Base/Math/Vector.hh"
35 #include "Base/Geometry/Normalization.hh"
36 #include "Parametrization.hh"
52 NormalizeHartley_ = NormalizeHartley;
72 int SevenPoint(std::vector<BIAS::FMatrix>& Fvec,
73 const std::vector<BIAS::HomgPoint2D> &p1,
74 const std::vector<BIAS::HomgPoint2D> &p2);
88 const std::vector<BIAS::HomgPoint2D> &p1,
89 const std::vector<BIAS::HomgPoint2D> &p2);
103 const std::vector<BIAS::HomgPoint2D> &p1,
104 const std::vector<BIAS::HomgPoint2D> &p2)
105 {
return Linear(F, p1, p2);};
118 const std::vector<BIAS::HomgPoint2D> &p1,
119 const std::vector<BIAS::HomgPoint2D> &p2);
130 const std::vector<BIAS::HomgPoint2D> &p1,
131 const std::vector<BIAS::HomgPoint2D> &p2);
141 std::vector<BIAS::HomgPoint2D>
const *
p1_;
143 std::vector<BIAS::HomgPoint2D>
const *
p2_;
157 std::vector<POLYNOMIALSOLVE_TYPE> &v);
183 #include <Base/Common/BIASpragmaEnd.hh>
std::vector< BIAS::HomgPoint2D > const * p2_
pointer to vector of points in image2 (hack for Optimize)
This class is used for parametrizing F- and H-matrices, generally for optimization purposes...
std::vector< BIAS::HomgPoint2D > const * p1_
pointer to vector of points in image1 (hack for Optimize)
BIAS::Parametrization * currentPara_
bool NormalizeHartley_
flag indicating whether we should normalize the given points before and denormalize the fmatrix after...
Matrix3x3< double > NormF2_
matrix for saving normalization of 2D points - important for f parametrization
class representing a Fundamental matrix
functions for estimating a fundamental matrix (FMatrix) given a set of 2d-2d correspondences (no outl...
class Normalization Functions, e.g.
FMatrixEstimation(bool NormalizeHartley=true)
constructor with general parameters
int itersLM_
count Levenberg-Marquardt iterations
int EightPoint(BIAS::FMatrix &F, const std::vector< BIAS::HomgPoint2D > &p1, const std::vector< BIAS::HomgPoint2D > &p2)
compute an FMatrix from eight point correspondences
Matrix3x3< double > NormF1_
matrix for saving normalization of 2D points - important for f parametrization
Normalization N_
the normalization object