use OpenCV's twister.
authormarina.kolpakova <marina.kolpakova@itseez.com>
Wed, 13 Mar 2013 10:11:34 +0000 (14:11 +0400)
committermarina.kolpakova <marina.kolpakova@itseez.com>
Wed, 13 Mar 2013 10:20:04 +0000 (14:20 +0400)
modules/softcascade/src/_random.hpp [deleted file]
modules/softcascade/src/integral_channel_builder.cpp
modules/softcascade/src/precomp.hpp
modules/softcascade/test/test_training.cpp

diff --git a/modules/softcascade/src/_random.hpp b/modules/softcascade/src/_random.hpp
deleted file mode 100644 (file)
index 63fa256..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/*M///////////////////////////////////////////////////////////////////////////////////////
-//
-//  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
-//
-//  By downloading, copying, installing or using the software you agree to this license.
-//  If you do not agree to this license, do not download, install,
-//  copy or use the software.
-//
-//
-//                           License Agreement
-//                For Open Source Computer Vision Library
-//
-// Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
-// Copyright (C) 2008-2012, Willow Garage Inc., all rights reserved.
-// Third party copyrights are property of their respective owners.
-//
-// Redistribution and use in source and binary forms, with or without modification,
-// are permitted provided that the following conditions are met:
-//
-//   * Redistribution's of source code must retain the above copyright notice,
-//     this list of conditions and the following disclaimer.
-//
-//   * Redistribution's in binary form must reproduce the above copyright notice,
-//     this list of conditions and the following disclaimer in the documentation
-//     and / or other materials provided with the distribution.
-//
-//   * The name of the copyright holders may not be used to endorse or promote products
-//     derived from this software without specific prior written permission.
-//
-// This software is provided by the copyright holders and contributors "as is" and
-// any express or implied warranties, including, but not limited to, the implied
-// warranties of merchantability and fitness for a particular purpose are disclaimed.
-// In no event shall the Intel Corporation or contributors be liable for any direct,
-// indirect, incidental, special, exemplary, or consequential damages
-// (including, but not limited to, procurement of substitute goods or services;
-// loss of use, data, or profits; or business interruption) however caused
-// and on any theory of liability, whether in contract, strict liability,
-// or tort (including negligence or otherwise) arising in any way out of
-// the use of this software, even if advised of the possibility of such damage.
-//
-//M*/
-
-#ifndef __SFT_RANDOM_HPP__
-#define __SFT_RANDOM_HPP__
-
-#if defined(_MSC_VER) && _MSC_VER >= 1600
-# include <random>
-
-namespace cv { namespace softcascade { namespace internal
-{
-
-struct Random
-{
-    typedef std::mt19937 engine;
-    typedef engine::result_type seed_type;
-    typedef std::uniform_int<int> uniform;
-};
-
-}}}
-
-#elif (__GNUC__) && __GNUC__ > 3 && __GNUC_MINOR__ > 1 && !defined(__ANDROID__)
-# if defined (__cplusplus) && __cplusplus > 201100L
-#  include <random>
-
-namespace cv { namespace softcascade { namespace internal
-{
-
-struct Random
-{
-    typedef std::mt19937 engine;
-    typedef engine::result_type seed_type;
-// True if we're using C++11.
-#if __cplusplus >= 201103L
-    // C++11 removes uniform_int.
-    typedef std::uniform_int_distribution<int> uniform;
-#else
-    typedef std::uniform_int<int> uniform;
-#endif
-};
-}}}
-
-# else
-#  include <tr1/random>
-
-namespace cv { namespace softcascade { namespace internal
-{
-
-struct Random
-{
-    typedef std::tr1::mt19937 engine;
-    typedef engine::result_type seed_type;
-    typedef std::tr1::uniform_int<int> uniform;
-};
-
-}}}
-# endif
-
-#else
-# include <opencv2/core/core.hpp>
-
-namespace cv { namespace softcascade { namespace internal
-{
-namespace rnd {
-
-typedef cv::RNG engine;
-
-template<typename T>
-struct uniform_int
-{
-    uniform_int(const int _min, const int _max) : min(_min), max(_max) {}
-    T operator() (engine& eng, const int bound) const
-    {
-        return (T)eng.uniform(min, bound);
-    }
-
-    T operator() (engine& eng) const
-    {
-        return (T)eng.uniform(min, max);
-    }
-
-private:
-    int min;
-    int max;
-};
-
-}
-
-struct Random
-{
-    typedef rnd::engine engine;
-    typedef uint64 seed_type;
-    typedef rnd::uniform_int<int> uniform;
-};
-
-}}}
-
-#endif
-
-#if defined _WIN32 && (_WIN32 || _WIN64)
-# if _WIN64
-#  define USE_LONG_SEEDS
-# endif
-#endif
-#if defined (__GNUC__) &&__GNUC__
-# if defined(__x86_64__) || defined(__ppc64__)
-#  define USE_LONG_SEEDS
-# endif
-#endif
-
-#if defined USE_LONG_SEEDS
-# define FEATURE_RECT_SEED      8854342234LU
-# define INDEX_ENGINE_SEED      764224349868LU
-#else
-# define FEATURE_RECT_SEED      88543422LU
-# define INDEX_ENGINE_SEED      76422434LU
-#endif
-#undef USE_LONG_SEEDS
-
-#define DCHANNELS_SEED         314152314LU
-#define DX_DY_SEED             65633343LU
-
-#endif
index 6959b6e7a96e0e351998cf9ae0889484ddf343d1..febfe491baaa19dd8ec634465b79b8a6034e3e35 100644 (file)
@@ -238,22 +238,8 @@ void ChannelFeaturePool::fill(int desired)
         int x = xRand(eng);
         int y = yRand(eng);
 
-#if __cplusplus >= 201103L
-        // The interface changed slightly going from uniform_int to
-        // uniform_int_distribution. See this page to understand
-        // the old behavior:
-        // http://www.boost.org/doc/libs/1_47_0/boost/random/uniform_int.hpp
-        int w = 1 + wRand(
-        eng,
-          // This extra "- 1" appears to be necessary, based on the Boost docs.
-        Random::uniform::param_type(0, (model.width  - x - 1) - 1));
-        int h = 1 + hRand(
-        eng,
-        Random::uniform::param_type(0, (model.height  - y - 1) - 1));
-#else
         int w = 1 + wRand(eng, model.width  - x - 1);
         int h = 1 + hRand(eng, model.height - y - 1);
-#endif
 
         CV_Assert(w > 0);
         CV_Assert(h > 0);
index cb20a268e9f74e9231768d306ec33db69b0be907..a4eeb59d936a6a93eebf8230fb2a4fc758b6311e 100644 (file)
 #include "opencv2/core/core_c.h"
 #include "opencv2/core/internal.hpp"
 #include "opencv2/ml/ml.hpp"
-#include "_random.hpp"
+
+namespace cv { namespace softcascade { namespace internal
+{
+namespace rnd {
+
+typedef cv::RNG_MT19937 engine;
+
+template<typename T>
+struct uniform_int
+{
+    uniform_int(const int _min, const int _max) : min(_min), max(_max) {}
+    T operator() (engine& eng, const int bound) const
+    {
+        return (T)eng.uniform(min, bound);
+    }
+
+    T operator() (engine& eng) const
+    {
+        return (T)eng.uniform(min, max);
+    }
+
+private:
+    int min;
+    int max;
+};
+
+}
+
+struct Random
+{
+    typedef rnd::engine engine;
+    typedef uint64 seed_type;
+    typedef rnd::uniform_int<int> uniform;
+};
+
+}}}
+
+#define FEATURE_RECT_SEED      88543422U
+#define INDEX_ENGINE_SEED      76422434U
+#define DCHANNELS_SEED         314152314U
+#define DX_DY_SEED             65633343U
 
 #endif
index 0d9f632aff7d884a8d4cce750424b3c92a03ca19..ef20323d251819cc587b778a37b4854855cfcbb8 100644 (file)
@@ -42,6 +42,7 @@
 
 #if !defined(ANDROID)
 
+#include <test_precomp.hpp>
 #include <string>
 #include <fstream>
 #include <vector>