From d19189e80ff266ee52082d4a647c7a89efe8ea82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Rousseau?= Date: Tue, 15 Dec 2015 10:30:06 +0100 Subject: [PATCH 1/3] Fixed the formula to compute the well-exposedness weight map. --- modules/photo/src/merge.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/photo/src/merge.cpp b/modules/photo/src/merge.cpp index 295e03c95f..c1d8a2da5a 100644 --- a/modules/photo/src/merge.cpp +++ b/modules/photo/src/merge.cpp @@ -194,10 +194,11 @@ public: wellexp = Mat::ones(size, CV_32F); for(int c = 0; c < channels; c++) { - Mat exp = splitted[c] - 0.5f; - pow(exp, 2.0f, exp); - exp = -exp / 0.08f; - wellexp = wellexp.mul(exp); + Mat expo = splitted[c] - 0.5f; + pow(expo, 2.0f, expo); + expo = -expo / 0.08f; + exp(expo, expo); + wellexp = wellexp.mul(expo); } pow(contrast, wcon, contrast); From dbfd6a3dde93a36f90756a8b4a64f37f34869edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Rousseau?= Date: Tue, 15 Dec 2015 11:12:10 +0100 Subject: [PATCH 2/3] Set the default value of exposure_weight in createMergeMertens to 1.0 --- modules/photo/include/opencv2/photo.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/photo/include/opencv2/photo.hpp b/modules/photo/include/opencv2/photo.hpp index 3d969124e7..c96c6a260c 100644 --- a/modules/photo/include/opencv2/photo.hpp +++ b/modules/photo/include/opencv2/photo.hpp @@ -694,7 +694,7 @@ public: @param exposure_weight well-exposedness measure weight */ CV_EXPORTS_W Ptr -createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 0.0f); +createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 1.0f); /** @brief The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response. From 76e4b0a8fe9c20f00da91bd4f7013f511e7fa4dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Rousseau?= Date: Tue, 15 Dec 2015 13:15:09 +0100 Subject: [PATCH 3/3] Reverts "Set the default value of exposure_weight in createMergeMertens to 1.0" because it breaks source code compatibility and tests This reverts commit dbfd6a3dde93a36f90756a8b4a64f37f34869edf. --- modules/photo/include/opencv2/photo.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/photo/include/opencv2/photo.hpp b/modules/photo/include/opencv2/photo.hpp index c96c6a260c..3d969124e7 100644 --- a/modules/photo/include/opencv2/photo.hpp +++ b/modules/photo/include/opencv2/photo.hpp @@ -694,7 +694,7 @@ public: @param exposure_weight well-exposedness measure weight */ CV_EXPORTS_W Ptr -createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 1.0f); +createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 0.0f); /** @brief The resulting HDR image is calculated as weighted average of the exposures considering exposure values and camera response.