diff --git a/modules/gpu/src/brute_force_matcher.cpp b/modules/gpu/src/brute_force_matcher.cpp index b60152195..c109d7fee 100644 --- a/modules/gpu/src/brute_force_matcher.cpp +++ b/modules/gpu/src/brute_force_matcher.cpp @@ -801,6 +801,11 @@ void cv::gpu::BruteForceMatcher_GPU_base::radiusMatchSingle(const GpuMat& query, ensureSizeIsEnough(nQuery, std::max((nTrain / 100), 10), CV_32SC1, trainIdx); ensureSizeIsEnough(nQuery, std::max((nTrain / 100), 10), CV_32FC1, distance); } + + if (stream) + stream.enqueueMemSet(nMatches, Scalar::all(0)); + else + nMatches.setTo(Scalar::all(0)); caller_t func = callers[distType][query.depth()]; CV_Assert(func != 0); @@ -926,6 +931,11 @@ void cv::gpu::BruteForceMatcher_GPU_base::radiusMatchCollection(const GpuMat& qu ensureSizeIsEnough(nQuery, std::max((nQuery / 100), 10), CV_32SC1, imgIdx); ensureSizeIsEnough(nQuery, std::max((nQuery / 100), 10), CV_32FC1, distance); } + + if (stream) + stream.enqueueMemSet(nMatches, Scalar::all(0)); + else + nMatches.setTo(Scalar::all(0)); caller_t func = callers[distType][query.depth()]; CV_Assert(func != 0);