From 6157db6462e1954bf3a10310c607da0bdfa9aef7 Mon Sep 17 00:00:00 2001 From: captain-n3m0 Date: Mon, 15 May 2023 17:31:43 +0530 Subject: [PATCH] Fixed matchTemplate function. #23585 --- modules/imgproc/src/templmatch.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/imgproc/src/templmatch.cpp b/modules/imgproc/src/templmatch.cpp index 6aa4e08409..ad45114372 100644 --- a/modules/imgproc/src/templmatch.cpp +++ b/modules/imgproc/src/templmatch.cpp @@ -779,9 +779,11 @@ static void matchTemplateMask( InputArray _img, InputArray _templ, OutputArray _ } if (mask.depth() == CV_8U) { - // To keep compatibility to other masks in OpenCV: CV_8U masks are binary masks - threshold(mask, mask, 0/*threshold*/, 1.0/*maxVal*/, THRESH_BINARY); - mask.convertTo(mask, CV_32F); + Mat mask_copy = mask.clone(); // Create a copy of the mask + + threshold(mask_copy, mask_copy, 0/*threshold*/, 1.0/*maxVal*/, THRESH_BINARY); + mask_copy.convertTo(mask_copy, CV_32F); + } Size corrSize(img.cols - templ.cols + 1, img.rows - templ.rows + 1);