diff --git a/modules/calib3d/src/solvepnp.cpp b/modules/calib3d/src/solvepnp.cpp index 1aeb82f64..f00958d05 100644 --- a/modules/calib3d/src/solvepnp.cpp +++ b/modules/calib3d/src/solvepnp.cpp @@ -196,18 +196,16 @@ namespace cv } } + resultsMutex.lock(); if (localInliers.size() > inliers.size()) { - resultsMutex.lock(); - inliers.clear(); inliers.resize(localInliers.size()); memcpy(&inliers[0], &localInliers[0], sizeof(int) * localInliers.size()); localRvec.copyTo(rvec); localTvec.copyTo(tvec); - - resultsMutex.unlock(); } + resultsMutex.unlock(); } static void pnpTask(const vector& pointsMask, const Mat& objectPoints, const Mat& imagePoints,