Merge branch 'gpu-tests'
authorVladislav Vinogradov <vlad.vinogradov@itseez.com>
Mon, 20 Aug 2012 07:29:40 +0000 (11:29 +0400)
committerVladislav Vinogradov <vlad.vinogradov@itseez.com>
Mon, 20 Aug 2012 07:29:40 +0000 (11:29 +0400)
1  2 
modules/gpu/perf/perf_core.cpp
modules/gpu/test/test_imgproc.cpp
modules/gpu/test/test_objdetect.cpp
modules/gpu/test/test_precomp.hpp

@@@ -1581,76 -1883,88 +1883,90 @@@ PERF_TEST_P(Sz, Core_MeanStdDev, GPU_TY
  //////////////////////////////////////////////////////////////////////\r
  // Norm\r
  \r
- GPU_PERF_TEST(Norm, cv::gpu::DeviceInfo, cv::Size, MatDepth, NormType)\r
- {\r
-     cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-     cv::gpu::setDevice(devInfo.deviceID());\r
+ DEF_PARAM_TEST(Sz_Depth_Norm, cv::Size, MatDepth, NormType);\r
  \r
-     cv::Size size = GET_PARAM(1);\r
-     int depth = GET_PARAM(2);\r
-     int normType = GET_PARAM(3);\r
+ PERF_TEST_P(Sz_Depth_Norm, Core_Norm, Combine(\r
+     GPU_TYPICAL_MAT_SIZES,\r
+     Values(CV_8U, CV_16U, CV_32S, CV_32F),\r
+     Values(NormType(cv::NORM_INF), NormType(cv::NORM_L1), NormType(cv::NORM_L2))))\r
+ {\r
+     cv::Size size = GET_PARAM(0);\r
+     int depth = GET_PARAM(1);\r
+     int normType = GET_PARAM(2);\r
  \r
-     cv::Mat src_host(size, depth);\r
-     fill(src_host, 0.0, 255.0);\r
+     cv::Mat src(size, depth);\r
+     fillRandom(src);\r
  \r
-     cv::gpu::GpuMat src(src_host);\r
      double dst;\r
-     cv::gpu::GpuMat buf;\r
  \r
-     dst = cv::gpu::norm(src, normType, buf);\r
+     if (runOnGpu)\r
+     {\r
+         cv::gpu::GpuMat d_src(src);\r
+         cv::gpu::GpuMat d_buf;\r
\r
+         dst = cv::gpu::norm(d_src, normType, d_buf);\r
  \r
-     TEST_CYCLE()\r
+         TEST_CYCLE()\r
+         {\r
+             dst = cv::gpu::norm(d_src, normType, d_buf);\r
+         }\r
+     }\r
+     else\r
      {\r
-         dst = cv::gpu::norm(src, normType, buf);\r
+         dst = cv::norm(src, normType);\r
\r
+         TEST_CYCLE()\r
+         {\r
+             dst = cv::norm(src, normType);\r
+         }\r
      }\r
 +    (void)dst;\r
  }\r
  \r
- INSTANTIATE_TEST_CASE_P(Core, Norm, testing::Combine(\r
-     ALL_DEVICES,\r
-     GPU_TYPICAL_MAT_SIZES,\r
-     testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S, CV_32F),\r
-     testing::Values(NormType(cv::NORM_INF), NormType(cv::NORM_L1), NormType(cv::NORM_L2))));\r
\r
  //////////////////////////////////////////////////////////////////////\r
  // NormDiff\r
  \r
- GPU_PERF_TEST(NormDiff, cv::gpu::DeviceInfo, cv::Size, NormType)\r
- {\r
-     cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-     cv::gpu::setDevice(devInfo.deviceID());\r
+ DEF_PARAM_TEST(Sz_Norm, cv::Size, NormType);\r
  \r
-     cv::Size size = GET_PARAM(1);\r
-     int normType = GET_PARAM(2);\r
+ PERF_TEST_P(Sz_Norm, Core_NormDiff, Combine(\r
+     GPU_TYPICAL_MAT_SIZES,\r
+     Values(NormType(cv::NORM_INF), NormType(cv::NORM_L1), NormType(cv::NORM_L2))))\r
+ {\r
+     cv::Size size = GET_PARAM(0);\r
+     int normType = GET_PARAM(1);\r
  \r
-     cv::Mat src1_host(size, CV_8UC1);\r
-     fill(src1_host, 0.0, 255.0);\r
+     cv::Mat src1(size, CV_8UC1);\r
+     fillRandom(src1);\r
  \r
-     cv::Mat src2_host(size, CV_8UC1);\r
-     fill(src2_host, 0.0, 255.0);\r
+     cv::Mat src2(size, CV_8UC1);\r
+     fillRandom(src2);\r
  \r
-     cv::gpu::GpuMat src1(src1_host);\r
-     cv::gpu::GpuMat src2(src2_host);\r
      double dst;\r
  \r
-     dst = cv::gpu::norm(src1, src2, normType);\r
+     if (runOnGpu)\r
+     {\r
+         cv::gpu::GpuMat d_src1(src1);\r
+         cv::gpu::GpuMat d_src2(src2);\r
\r
+         dst = cv::gpu::norm(d_src1, d_src2, normType);\r
  \r
-     TEST_CYCLE()\r
+         TEST_CYCLE()\r
+         {\r
+             dst = cv::gpu::norm(d_src1, d_src2, normType);\r
+         }\r
+     }\r
+     else\r
      {\r
-         dst = cv::gpu::norm(src1, src2, normType);\r
+         dst = cv::norm(src1, src2, normType);\r
\r
+         TEST_CYCLE()\r
+         {\r
+             dst = cv::norm(src1, src2, normType);\r
+         }\r
      }\r
 +    (void)dst;\r
  }\r
  \r
- INSTANTIATE_TEST_CASE_P(Core, NormDiff, testing::Combine(\r
-     ALL_DEVICES,\r
-     GPU_TYPICAL_MAT_SIZES,\r
-     testing::Values(NormType(cv::NORM_INF), NormType(cv::NORM_L1), NormType(cv::NORM_L2))));\r
\r
  //////////////////////////////////////////////////////////////////////\r
  // Sum\r
  \r
@@@ -1805,40 -2156,41 +2158,42 @@@ PERF_TEST_P(Sz_Depth, Core_MinMaxLoc, C
  //////////////////////////////////////////////////////////////////////\r
  // CountNonZero\r
  \r
- GPU_PERF_TEST(CountNonZero, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
+ PERF_TEST_P(Sz_Depth, Core_CountNonZero, Combine(\r
+     GPU_TYPICAL_MAT_SIZES,\r
+     Values(CV_8U, CV_16U, CV_32F, CV_64F)))\r
  {\r
-     cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-     cv::gpu::setDevice(devInfo.deviceID());\r
+     cv::Size size = GET_PARAM(0);\r
+     int depth = GET_PARAM(1);\r
  \r
-     cv::Size size = GET_PARAM(1);\r
-     int depth = GET_PARAM(2);\r
+     cv::Mat src(size, depth);\r
+     fillRandom(src);\r
  \r
-     cv::Mat src_host(size, depth);\r
-     fill(src_host, 0.0, 1.5);\r
\r
-     cv::gpu::GpuMat src(src_host);\r
      int dst;\r
-     cv::gpu::GpuMat buf;\r
  \r
-     dst = cv::gpu::countNonZero(src, buf);\r
+     if (runOnGpu)\r
+     {\r
+         cv::gpu::GpuMat d_src(src);\r
+         cv::gpu::GpuMat d_buf;\r
\r
+         dst = cv::gpu::countNonZero(d_src, d_buf);\r
  \r
-     TEST_CYCLE()\r
+         TEST_CYCLE()\r
+         {\r
+             dst = cv::gpu::countNonZero(d_src, d_buf);\r
+         }\r
+     }\r
+     else\r
      {\r
-         dst = cv::gpu::countNonZero(src, buf);\r
+         dst = cv::countNonZero(src);\r
\r
+         TEST_CYCLE()\r
+         {\r
+             dst = cv::countNonZero(src);\r
+         }\r
      }\r
 +    (void)dst;\r
  }\r
  \r
- INSTANTIATE_TEST_CASE_P(Core, CountNonZero, testing::Combine(\r
-     ALL_DEVICES,\r
-     GPU_TYPICAL_MAT_SIZES,\r
-     testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
\r
  //////////////////////////////////////////////////////////////////////\r
  // Reduce\r
  \r
Simple merge
Simple merge
Simple merge