Fix self converTo.
authorVincent Rabaud <vrabaud@google.com>
Wed, 21 Dec 2022 17:28:26 +0000 (18:28 +0100)
committerVincent Rabaud <vrabaud@google.com>
Wed, 21 Dec 2022 17:28:26 +0000 (18:28 +0100)
We still need images[i] = img because it is used below in buildPyramid.

modules/photo/src/merge.cpp

index b0a36d4..1805057 100644 (file)
@@ -176,16 +176,16 @@ public:
 
         parallel_for_(Range(0, static_cast<int>(images.size())), [&](const Range& range) {
             for(int i = range.start; i < range.end; i++) {
-                Mat& img = images[i];
-                Mat gray, contrast, saturation, wellexp;
+                Mat img, gray, contrast, saturation, wellexp;
                 std::vector<Mat> splitted(channels);
 
-                img.convertTo(img, CV_32F, 1.0f/255.0f);
+                images[i].convertTo(img, CV_32F, 1.0f/255.0f);
                 if(channels == 3) {
                     cvtColor(img, gray, COLOR_RGB2GRAY);
                 } else {
                     img.copyTo(gray);
                 }
+                images[i] = img;
                 split(img, splitted);
 
                 Laplacian(gray, contrast, CV_32F);