diff --git a/modules/photo/src/merge.cpp b/modules/photo/src/merge.cpp index 295e03c95f..23d7d7cea0 100644 --- a/modules/photo/src/merge.cpp +++ b/modules/photo/src/merge.cpp @@ -79,9 +79,11 @@ public: response = linearResponse(channels); response.at(0) = response.at(1); } - log(response, response); - CV_Assert(response.rows == LDR_SIZE && response.cols == 1 && - response.channels() == channels); + + Mat log_response; + log(response, log_response); + CV_Assert(log_response.rows == LDR_SIZE && log_response.cols == 1 && + log_response.channels() == channels); Mat exp_values(times); log(exp_values, exp_values); @@ -103,7 +105,7 @@ public: w /= channels; Mat response_img; - LUT(images[i], response, response_img); + LUT(images[i], log_response, response_img); split(response_img, splitted); for(int c = 0; c < channels; c++) { result_split[c] += w.mul(splitted[c] - exp_values.at((int)i));