CvLevMarq infinite loop due to lambdaLg10 (Patch #1839)
Description
CvLevMarq::update and CvLevMarq::updateAlt methods (in calib3d/src/calibration.cpp) increments lambdaLg10 until errNorm <= prevErrNorm. If the condition never happens, it causes an infinite loop, since the number of iterations (iters) is never incremented. A solution is to set an upper bound to lambdaLg10 (I have set it to 16). The patch can be found attached.
Associated revisions
avoid infinite loop in CvLevMarq (thanks to João Lima for the patch; ticket #1839)
Merge pull request #1839 from pmiecielica:memory_leaks
History
Updated by Vadim Pisarevsky almost 13 years ago
thanks! your patch was applied in r8178
Updated by Vadim Pisarevsky almost 13 years ago
- Status changed from Open to Done