25 #ifndef _PMatrixEstimation_h__
26 #define _PMatrixEstimation_h__
33 #include "Base/Math/Matrix.hh"
36 #include "Geometry/PMatrix.hh"
37 #include "MathAlgo/Lapack.hh"
39 #define BIAS_MAXNUMAUTOCALIBITERS 200
60 void ComputeFromFQuasiEuklid(
BIAS::FMatrix &F,
double BaselineMagnitude,
69 int ComputeFromFDirect(
BIAS::FMatrix &F,
const double& BaselineMagnitude,
78 int AutoCalib(
const BIAS::FMatrix &F,
const int width,
const int height,
79 const std::vector<BIAS::HomgPoint2D> &p1,
80 const std::vector<BIAS::HomgPoint2D> &p2,
91 std::vector<BIAS::HomgPoint2D>
const *
p1_;
93 std::vector<BIAS::HomgPoint2D>
const *
p2_;
class HomgPoint2D describes a point with 2 degrees of freedom in projective coordinates.
std::vector< std::vector< double > > errorAll_
double lastError_
remember error of PErrorFunc
std::vector< BIAS::HomgPoint2D > const * p1_
pointer to vector of points in image1 (hack for Levenberg Marquardt)
std::vector< double > errorSum_
class representing a Fundamental matrix
compute standard P1/P2 from F.
std::vector< BIAS::HomgPoint2D > const * p2_
pointer to vector of points in image2 (hack for Levenberg Marquardt)
K describes the mapping from world coordinates (wcs) to pixel coordinates (pcs).
describes a projective 3D -> 2D mapping in homogenous coordinates
int width_
image width (hack for Levenberg Marquardt)
int height_
image height (hack for Levenberg Marquardt)
~PMatrixEstimation()
Standard Destructor does nothing.
BIAS::Matrix< double > globalM2_
BIAS::HomgPoint2D globalEpipole2_