//////////////////////////////////////////////////////////////////////\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
//////////////////////////////////////////////////////////////////////\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