From 3386efddbaaaaa96c8b0e4c752f215456c96f240 Mon Sep 17 00:00:00 2001 From: berak Date: Tue, 20 Apr 2021 11:57:42 +0200 Subject: [PATCH] calib3d: fix masks for usac --- modules/calib3d/src/usac/ransac_solvers.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/calib3d/src/usac/ransac_solvers.cpp b/modules/calib3d/src/usac/ransac_solvers.cpp index 0c7637d582..eb7e177678 100644 --- a/modules/calib3d/src/usac/ransac_solvers.cpp +++ b/modules/calib3d/src/usac/ransac_solvers.cpp @@ -408,10 +408,11 @@ int mergePoints (InputArray pts1_, InputArray pts2_, Mat &pts, bool ispnp) { void saveMask (OutputArray mask, const std::vector &inliers_mask) { if (mask.needed()) { const int points_size = (int) inliers_mask.size(); - mask.create(points_size, 1, CV_8U); - auto * maskptr = mask.getMat().ptr(); + Mat tmp_mask(points_size, 1, CV_8U); + auto * maskptr = tmp_mask.ptr(); for (int i = 0; i < points_size; i++) maskptr[i] = (uchar) inliers_mask[i]; + tmp_mask.copyTo(mask); } } void setParameters (Ptr ¶ms, EstimationMethod estimator, const UsacParams &usac_params,