From 35a39c19a3456c35d4e69041c4486c11bbc0c987 Mon Sep 17 00:00:00 2001 From: Alexander Shishkov Date: Fri, 19 Jul 2013 01:08:42 +0400 Subject: [PATCH] minor changes --- modules/photo/include/opencv2/photo.hpp | 2 +- modules/photo/src/hdr_fusion.cpp | 18 +++++++++--------- modules/photo/src/tonemap.cpp | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/photo/include/opencv2/photo.hpp b/modules/photo/include/opencv2/photo.hpp index b3d3aaf203..d7fb9e5188 100644 --- a/modules/photo/include/opencv2/photo.hpp +++ b/modules/photo/include/opencv2/photo.hpp @@ -99,7 +99,7 @@ CV_EXPORTS_W void makeHDR(InputArrayOfArrays srcImgs, const std::vector& CV_EXPORTS_W void tonemap(InputArray src, OutputArray dst, int algorithm, const std::vector& params = std::vector()); -CV_EXPORTS_W void exposureFusion(InputArrayOfArrays srcImgs, OutputArray dst, bool align = false, float wc = 1, float ws = 1, float we = 0); +CV_EXPORTS_W void exposureFusion(InputArrayOfArrays srcImgs, OutputArray dst, bool align = false, float wc = 1.0f, float ws = 1.0f, float we = 0.0f); CV_EXPORTS_W void shiftMat(InputArray src, Point shift, OutputArray dst); diff --git a/modules/photo/src/hdr_fusion.cpp b/modules/photo/src/hdr_fusion.cpp index 5f2bf814d8..4db4b4e38e 100644 --- a/modules/photo/src/hdr_fusion.cpp +++ b/modules/photo/src/hdr_fusion.cpp @@ -58,13 +58,13 @@ static void triangleWeights(float weights[]) static void generateResponce(float responce[]) { - for(int i = 0; i < 256; i++) { - responce[i] = log((float)i); + for(int i = 1; i < 256; i++) { + responce[i] = logf((float)i); } responce[0] = responce[1]; } -static void checkImages(std::vector& images, bool hdr, const std::vector& _exp_times = std::vector()) +static void checkImages(const std::vector& images, bool hdr, const std::vector& _exp_times = std::vector()) { if(images.empty()) { CV_Error(Error::StsBadArg, "Need at least one image"); @@ -85,7 +85,7 @@ static void checkImages(std::vector& images, bool hdr, const std::vector& src, std::vector& dst) +static void alignImages(const std::vector& src, std::vector& dst) { dst.resize(src.size()); @@ -120,7 +120,7 @@ void makeHDR(InputArrayOfArrays _images, const std::vector& _exp_times, O } std::vector exp_times(_exp_times.size()); for(size_t i = 0; i < exp_times.size(); i++) { - exp_times[i] = log(_exp_times[i]); + exp_times[i] = logf(_exp_times[i]); } float weights[256], responce[256]; @@ -144,7 +144,7 @@ void makeHDR(InputArrayOfArrays _images, const std::vector& _exp_times, O } } for(int channel = 0; channel < 3; channel++) { - res_ptr[channel] = exp(sum[channel] / weight_sum); + res_ptr[channel] = expf(sum[channel] / weight_sum); if(res_ptr[channel] > max) { max = res_ptr[channel]; } @@ -184,7 +184,7 @@ void exposureFusion(InputArrayOfArrays _images, OutputArray _dst, bool align, fl pow(deviation, 2.0, deviation); saturation += deviation; } - sqrt(saturation, saturation); + sqrt(saturation, saturation); wellexp = Mat::ones(gray.size(), CV_32FC1); for(int i = 0; i < 3; i++) { @@ -203,7 +203,7 @@ void exposureFusion(InputArrayOfArrays _images, OutputArray _dst, bool align, fl weights[im] = weights[im].mul(wellexp); weight_sum += weights[im]; } - int maxlevel = (int)(log((double)max(images[0].rows, images[0].cols)) / log(2.0)) - 1; + int maxlevel = static_cast(logf(static_cast(max(images[0].rows, images[0].cols))) / logf(2.0)) - 1; std::vector res_pyr(maxlevel + 1); for(size_t im = 0; im < images.size(); im++) { @@ -242,4 +242,4 @@ void exposureFusion(InputArrayOfArrays _images, OutputArray _dst, bool align, fl res_pyr[0].copyTo(result); } -}; \ No newline at end of file +}; diff --git a/modules/photo/src/tonemap.cpp b/modules/photo/src/tonemap.cpp index 1f0558686b..d0ec874ee4 100644 --- a/modules/photo/src/tonemap.cpp +++ b/modules/photo/src/tonemap.cpp @@ -40,6 +40,7 @@ // //M*/ +#include "precomp.hpp" #include "opencv2/photo.hpp" #include "opencv2/imgproc.hpp" @@ -52,8 +53,7 @@ static float getParam(const std::vector& params, size_t i, float defval) return params[i]; } else { return defval; - } - + } } static void DragoMap(Mat& src_img, Mat &dst_img, const std::vector& params) @@ -63,7 +63,7 @@ static void DragoMap(Mat& src_img, Mat &dst_img, const std::vector& param cvtColor(src_img, gray_img, COLOR_RGB2GRAY); Mat log_img; log(gray_img, log_img); - float mean = exp((float)sum(log_img)[0] / log_img.total()); + float mean = expf(static_cast(sum(log_img)[0]) / log_img.total()); gray_img /= mean; log_img.release();