From 4c251bd2604d73ea71fd276c4058f9c6953c0a92 Mon Sep 17 00:00:00 2001 From: Pavel Rojtberg Date: Thu, 10 Dec 2015 23:01:55 +0100 Subject: [PATCH] CvLevMarq: add solve method to interface --- modules/calib3d/include/opencv2/calib3d/calib3d_c.h | 1 + modules/calib3d/src/compat_ptsetreg.cpp | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/calib3d/include/opencv2/calib3d/calib3d_c.h b/modules/calib3d/include/opencv2/calib3d/calib3d_c.h index 2392692..90942df 100644 --- a/modules/calib3d/include/opencv2/calib3d/calib3d_c.h +++ b/modules/calib3d/include/opencv2/calib3d/calib3d_c.h @@ -415,6 +415,7 @@ public: int state; int iters; bool completeSymmFlag; + int solveMethod; }; #endif diff --git a/modules/calib3d/src/compat_ptsetreg.cpp b/modules/calib3d/src/compat_ptsetreg.cpp index 6bc407e..e0f387d 100644 --- a/modules/calib3d/src/compat_ptsetreg.cpp +++ b/modules/calib3d/src/compat_ptsetreg.cpp @@ -58,6 +58,7 @@ CvLevMarq::CvLevMarq() iters = 0; completeSymmFlag = false; errNorm = prevErrNorm = DBL_MAX; + solveMethod = cv::DECOMP_SVD; } CvLevMarq::CvLevMarq( int nparams, int nerrs, CvTermCriteria criteria0, bool _completeSymmFlag ) @@ -113,6 +114,7 @@ void CvLevMarq::init( int nparams, int nerrs, CvTermCriteria criteria0, bool _co state = STARTED; iters = 0; completeSymmFlag = _completeSymmFlag; + solveMethod = cv::DECOMP_SVD; } bool CvLevMarq::update( const CvMat*& _param, CvMat*& matJ, CvMat*& _err ) @@ -314,7 +316,7 @@ void CvLevMarq::step() #else _JtJN.diag() += lambda; #endif - solve(_JtJN, _JtErr, nonzero_param); + solve(_JtJN, _JtErr, nonzero_param, solveMethod); int j = 0; for( int i = 0; i < nparams; i++ ) -- 2.7.4