double confThresh() const { return conf_thresh_; }\r
void setConfThresh(double conf_thresh) { conf_thresh_ = conf_thresh; }\r
\r
+ CvTermCriteria termCriteria() { return term_criteria_; }\r
+ void setTermCriteria(const CvTermCriteria& term_criteria) { term_criteria_ = term_criteria; }\r
+\r
protected:\r
BundleAdjusterBase(int num_params_per_cam, int num_errs_per_measurement) \r
: num_params_per_cam_(num_params_per_cam), \r
{ \r
setRefinementMask(Mat::ones(3, 3, CV_8U));\r
setConfThresh(1.); \r
+ setTermCriteria(cvTermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 1000, DBL_EPSILON));\r
}\r
\r
// Runs bundle adjustment\r
// Threshold to filter out poorly matched image pairs\r
double conf_thresh_;\r
\r
+ //Levenberg–Marquardt algorithm termination criteria\r
+ CvTermCriteria term_criteria_;\r
+\r
// Camera parameters matrix (CV_64F)\r
Mat cam_params_;\r
\r
\r
CvLevMarq solver(num_images_ * num_params_per_cam_, \r
total_num_matches_ * num_errs_per_measurement_,\r
- cvTermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 1000, DBL_EPSILON));\r
+ term_criteria_);\r
\r
Mat err, jac;\r
CvMat matParams = cam_params_;\r