diff --git a/modules/photo/include/opencv2/photo.hpp b/modules/photo/include/opencv2/photo.hpp index 4202eebeb..258c9881b 100644 --- a/modules/photo/include/opencv2/photo.hpp +++ b/modules/photo/include/opencv2/photo.hpp @@ -59,8 +59,6 @@ enum INPAINT_TELEA = 1 // A. Telea algorithm }; -CV_EXPORTS_W bool initModule_photo(); - //! restores the damaged image areas using one of the available intpainting algorithms CV_EXPORTS_W void inpaint( InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags ); @@ -91,11 +89,7 @@ public: CV_WRAP virtual void setGamma(float gamma) = 0; }; -class CV_EXPORTS_W TonemapLinear : public Tonemap -{ -}; - -CV_EXPORTS_W Ptr createTonemapLinear(float gamma = 1.0f); +CV_EXPORTS_W Ptr createTonemap(float gamma = 1.0f); // "Adaptive Logarithmic Mapping For Displaying HighContrast Scenes", Drago et al., 2003 diff --git a/modules/photo/src/align.cpp b/modules/photo/src/align.cpp index 5c7a802e2..505ff3e21 100644 --- a/modules/photo/src/align.cpp +++ b/modules/photo/src/align.cpp @@ -10,8 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. -// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -232,4 +231,4 @@ CV_EXPORTS_W Ptr createAlignMTB(int max_bits, int exclude_range) return new AlignMTBImpl(max_bits, exclude_range); } -} \ No newline at end of file +} diff --git a/modules/photo/src/hdr_common.cpp b/modules/photo/src/hdr_common.cpp index 66278e5d4..4aab5c045 100644 --- a/modules/photo/src/hdr_common.cpp +++ b/modules/photo/src/hdr_common.cpp @@ -10,8 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. -// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -83,4 +82,4 @@ void mapLuminance(Mat src, Mat dst, Mat lum, Mat new_lum, float saturation) merge(channels, dst); } -}; \ No newline at end of file +}; diff --git a/modules/photo/src/hdr_common.hpp b/modules/photo/src/hdr_common.hpp index 9625d201f..5aef1f9f0 100644 --- a/modules/photo/src/hdr_common.hpp +++ b/modules/photo/src/hdr_common.hpp @@ -10,8 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. -// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -57,4 +56,4 @@ void mapLuminance(Mat src, Mat dst, Mat lum, Mat new_lum, float saturation); }; -#endif \ No newline at end of file +#endif diff --git a/modules/photo/src/merge.cpp b/modules/photo/src/merge.cpp index cf603ac4d..b7fcac6f8 100644 --- a/modules/photo/src/merge.cpp +++ b/modules/photo/src/merge.cpp @@ -10,8 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. -// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -260,4 +259,4 @@ Ptr createMergeMertens(float wcon, float wsat, float wexp) return new MergeMertensImpl(wcon, wsat, wexp); } -} \ No newline at end of file +} diff --git a/modules/photo/src/tonemap.cpp b/modules/photo/src/tonemap.cpp index 0c85b5f9b..6088b856d 100644 --- a/modules/photo/src/tonemap.cpp +++ b/modules/photo/src/tonemap.cpp @@ -10,8 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. -// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -48,10 +47,10 @@ namespace cv { -class TonemapLinearImpl : public TonemapLinear +class TonemapImpl : public Tonemap { public: - TonemapLinearImpl(float gamma) : gamma(gamma), name("TonemapLinear") + TonemapImpl(float gamma) : gamma(gamma), name("Tonemap") { } @@ -94,9 +93,9 @@ protected: float gamma; }; -Ptr createTonemapLinear(float gamma) +Ptr createTonemap(float gamma) { - return new TonemapLinearImpl(gamma); + return new TonemapImpl(gamma); } class TonemapDragoImpl : public TonemapDrago @@ -117,7 +116,7 @@ public: _dst.create(src.size(), CV_32FC3); Mat img = _dst.getMat(); - Ptr linear = createTonemapLinear(1.0f); + Ptr linear = createTonemap(1.0f); linear->process(src, img); Mat gray_img; @@ -200,7 +199,7 @@ public: CV_Assert(!src.empty()); _dst.create(src.size(), CV_32FC3); Mat img = _dst.getMat(); - Ptr linear = createTonemapLinear(1.0f); + Ptr linear = createTonemap(1.0f); linear->process(src, img); Mat gray_img; @@ -284,7 +283,7 @@ public: CV_Assert(!src.empty()); _dst.create(src.size(), CV_32FC3); Mat img = _dst.getMat(); - Ptr linear = createTonemapLinear(1.0f); + Ptr linear = createTonemap(1.0f); linear->process(src, img); Mat gray_img; @@ -378,7 +377,7 @@ public: CV_Assert(!src.empty()); _dst.create(src.size(), CV_32FC3); Mat img = _dst.getMat(); - Ptr linear = createTonemapLinear(1.0f); + Ptr linear = createTonemap(1.0f); linear->process(src, img); Mat gray_img; @@ -426,7 +425,7 @@ public: exp(x, x); mapLuminance(img, img, gray_img, x, saturation); - linear = createTonemapLinear(gamma); + linear = createTonemap(gamma); linear->process(img, img); } @@ -529,4 +528,4 @@ Ptr createTonemapMantiuk(float gamma, float scale, float saturat return new TonemapMantiukImpl(gamma, scale, saturation); } -} \ No newline at end of file +} diff --git a/modules/photo/test/test_hdr.cpp b/modules/photo/test/test_hdr.cpp index 92738c26b..2f2dfe2b0 100644 --- a/modules/photo/test/test_hdr.cpp +++ b/modules/photo/test/test_hdr.cpp @@ -10,8 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. -// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -61,9 +60,10 @@ void checkEqual(Mat img0, Mat img1, double threshold) ASSERT_FALSE(max > threshold) << max; } -void loadExposureSeq(String path, vector& images, vector& times = vector()) +static vector DEFAULT_VECTOR; +void loadExposureSeq(String path, vector& images, vector& times = DEFAULT_VECTOR) { - ifstream list_file(path + "list.txt"); + ifstream list_file((path + "list.txt").c_str()); ASSERT_TRUE(list_file.is_open()); string name; float val; @@ -79,7 +79,7 @@ void loadExposureSeq(String path, vector& images, vector& times = ve void loadResponseCSV(String path, Mat& response) { response = Mat(256, 3, CV_32F); - ifstream resp_file(path); + ifstream resp_file(path.c_str()); for(int i = 0; i < 256; i++) { for(int channel = 0; channel < 3; channel++) { resp_file >> response.at(i, channel); @@ -97,7 +97,7 @@ TEST(Photo_Tonemap, regression) loadImage(test_path + "image.hdr", img); float gamma = 2.2f; - Ptr linear = createTonemapLinear(gamma); + Ptr linear = createTonemapLinear(gamma); linear->process(img, result); loadImage(test_path + "linear.png", expected); result.convertTo(result, CV_8UC3, 255); @@ -161,7 +161,7 @@ TEST(Photo_MergeMertens, regression) string test_path = string(cvtest::TS::ptr()->get_data_path()) + "hdr/"; vector images; - loadExposureSeq(test_path + "exposures/", images); + loadExposureSeq((test_path + "exposures/").c_str() , images); Ptr merge = createMergeMertens(); diff --git a/modules/python/src2/cv2.cpp b/modules/python/src2/cv2.cpp index e68da59cf..948e107e5 100644 --- a/modules/python/src2/cv2.cpp +++ b/modules/python/src2/cv2.cpp @@ -131,6 +131,15 @@ typedef Ptr Ptr_StereoMatcher; typedef Ptr Ptr_StereoBM; typedef Ptr Ptr_StereoSGBM; +typedef Ptr Ptr_Tonemap; +typedef Ptr Ptr_TonemapDrago; +typedef Ptr Ptr_TonemapReinhardDevlin; +typedef Ptr Ptr_TonemapDurand; +typedef Ptr Ptr_AlignMTB; +typedef Ptr Ptr_CalibrateDebevec; +typedef Ptr Ptr_MergeDebevec; +typedef Ptr Ptr_MergeMertens; + typedef Ptr Ptr_ChannelFeatureBuilder; typedef SimpleBlobDetector::Params SimpleBlobDetector_Params;