26 #ifndef __HMatrixEstimation_hh__
27 #define __HMatrixEstimation_hh__
28 #include "bias_config.h"
30 #include <Geometry/HMatrix.hh>
31 #include <Base/Geometry/Normalization.hh>
36 #define HE_NOT_ENOUGH_POINTS -78
37 #define HE_SVD_ERROR -79
38 #define HE_LM_ERROR -80
57 { normalizeHartley_ = normalizeHartley; }
77 int Compute(
const std::vector<BIAS::HomgPoint2D>& fromPoints,
78 const std::vector<BIAS::HomgPoint2D>& toPoints,
94 const std::vector<BIAS::HomgPoint2D> &p1,
95 const std::vector<BIAS::HomgPoint2D> &p2);
104 int ComputeAffine(
const std::vector<BIAS::HomgPoint2D>& fromPoints,
105 const std::vector<BIAS::HomgPoint2D>& toPoints,
111 double GetError()
const;
148 static int HErrorFunction_(
void *p,
int m,
int n,
const double *x,
149 double *fvec,
int iflag);
156 #endif // __HMatrixEstimation_hh__
Normalization normalization_
The normalization algorithm instance.
a 3x3 Matrix describing projective transformations between planes
std::vector< BIAS::HomgPoint2D > pointsFrom_
Stores the points in image 1 (used in Optimize and GetError)
HMatrixEstimation(bool normalizeHartley=true)
Create homography estimation instance.
HMatrix H_
Stores the estimated homography matrix (used in GetError)
bool normalizeHartley_
Flag indicating whether we should normalize the given points before and denormalize the homography ma...
class Normalization Functions, e.g.
std::vector< BIAS::HomgPoint2D > pointsTo_
Stores the points in image 2 (used in Optimize and GetError)
Estimate 3x3 matrix relating image coordinates with each other, i.e.
void SetNormalizeHartley(bool normalize)
Decide whether to normalize input vector as proposed by Hartley (strongly recommended) or use the DLT...