GPU_TYPICAL_MAT_SIZES, \r
testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// SubtractMat\r
+\r
+GPU_PERF_TEST(SubtractMat, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+\r
+ fill(src1_host, 0.0, 100.0);\r
+ fill(src2_host, 0.0, 100.0);\r
+\r
+ cv::gpu::GpuMat src1(src1_host);\r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::subtract(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, SubtractMat, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// SubtractScalar\r
+\r
+GPU_PERF_TEST(SubtractScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src_host(size, type);\r
+\r
+ fill(src_host, 0.0, 100.0);\r
+\r
+ cv::gpu::GpuMat src(src_host);\r
+ cv::Scalar s(1,2,3,4);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::subtract(src, s, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, SubtractScalar, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// MultiplyMat\r
+\r
+GPU_PERF_TEST(MultiplyMat, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+\r
+ fill(src1_host, 0.0, 100.0);\r
+ fill(src2_host, 0.0, 100.0);\r
+\r
+ cv::gpu::GpuMat src1(src1_host);\r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::multiply(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, MultiplyMat, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// MultiplyScalar\r
+\r
+GPU_PERF_TEST(MultiplyScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src_host(size, type);\r
+\r
+ fill(src_host, 0.0, 100.0);\r
+\r
+ cv::gpu::GpuMat src(src_host);\r
+ cv::Scalar s(1,2,3,4);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::multiply(src, s, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, MultiplyScalar, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// DivideMat\r
+\r
+GPU_PERF_TEST(DivideMat, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+\r
+ fill(src1_host, 0.0, 100.0);\r
+ fill(src2_host, 0.0, 100.0);\r
+\r
+ cv::gpu::GpuMat src1(src1_host);\r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::divide(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, DivideMat, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// DivideScalar\r
+\r
+GPU_PERF_TEST(DivideScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src_host(size, type);\r
+\r
+ fill(src_host, 0.0, 100.0);\r
+\r
+ cv::gpu::GpuMat src(src_host);\r
+ cv::Scalar s(1,2,3,4);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::divide(src, s, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, DivideScalar, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
//////////////////////////////////////////////////////////////////////\r
// Exp\r
\r
testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_32FC1)));\r
\r
//////////////////////////////////////////////////////////////////////\r
+// Log\r
+\r
+GPU_PERF_TEST(Log, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src_host(size, type);\r
+\r
+ declare.in(src_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src(src_host);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::log(src, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Log, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_32FC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Sqrt\r
+\r
+GPU_PERF_TEST(Sqrt, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src_host(size, type);\r
+\r
+ declare.in(src_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src(src_host);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::sqrt(src, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Sqrt, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_8UC4, CV_16UC1, CV_32FC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
// Compare\r
\r
GPU_PERF_TEST(Compare, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
\r
//////////////////////////////////////////////////////////////////////\r
+// CompareScalar\r
+\r
+GPU_PERF_TEST(CompareScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ \r
+ declare.in(src1_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host);\r
+ cv::Scalar src2 = cv::Scalar::all(123);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::compare(src1, src2, dst, cv::CMP_EQ);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, CompareScalar, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
// BitwiseNot\r
\r
GPU_PERF_TEST(BitwiseNot, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
GPU_TYPICAL_MAT_SIZES, \r
testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
\r
+//////////////////////////////////////////////////////////////////////\r
+// BitwiseScalarAnd\r
+\r
GPU_PERF_TEST(BitwiseScalarAnd, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
{\r
cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
GPU_TYPICAL_MAT_SIZES, \r
testing::Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32SC1, CV_32SC3, CV_32SC4)));\r
\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// BitwiseOr\r
+\r
+GPU_PERF_TEST(BitwiseOr, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+\r
+ declare.in(src1_host, src2_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host);\r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::bitwise_or(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, BitwiseOr, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// BitwiseScalarOr\r
+\r
+GPU_PERF_TEST(BitwiseScalarOr, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src_host(size, type);\r
+\r
+ declare.in(src_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src(src_host);\r
+ cv::gpu::GpuMat dst;\r
+ cv::Scalar sc = cv::Scalar(123, 123, 123, 123);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::bitwise_or(src, sc, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, BitwiseScalarOr, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32SC1, CV_32SC3, CV_32SC4)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// BitwiseXor\r
+\r
+GPU_PERF_TEST(BitwiseXor, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+\r
+ declare.in(src1_host, src2_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host);\r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::bitwise_xor(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, BitwiseXor, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// BitwiseScalarXor\r
+\r
+GPU_PERF_TEST(BitwiseScalarXor, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src_host(size, type);\r
+\r
+ declare.in(src_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src(src_host);\r
+ cv::gpu::GpuMat dst;\r
+ cv::Scalar sc = cv::Scalar(123, 123, 123, 123);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::bitwise_xor(src, sc, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, BitwiseScalarXor, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32SC1, CV_32SC3, CV_32SC4)));\r
+\r
+\r
+\r
//////////////////////////////////////////////////////////////////////\r
// Min\r
\r
GPU_TYPICAL_MAT_SIZES, \r
testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Max\r
+\r
+GPU_PERF_TEST(Max, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+\r
+ declare.in(src1_host, src2_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host);\r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::max(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Max, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Abs\r
+\r
+GPU_PERF_TEST(Abs, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ \r
+ declare.in(src1_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host); \r
+ cv::gpu::GpuMat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::abs(src1, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Abs, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_16S, CV_32F)));\r
+\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// AbsDiff\r
+\r
+GPU_PERF_TEST(AbsDiff, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+ \r
+ declare.in(src1_host, src2_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host); \r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::absdiff(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, AbsDiff, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Phase\r
+\r
+GPU_PERF_TEST(Phase, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+ \r
+ declare.in(src1_host, src2_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host); \r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::phase(src1, src2, dst, true);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Phase, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values<perf::MatType>(CV_32FC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Magnitude\r
+\r
+GPU_PERF_TEST(Magnitude, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1_host(size, type);\r
+ cv::Mat src2_host(size, type);\r
+ \r
+ declare.in(src1_host, src2_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host); \r
+ cv::gpu::GpuMat src2(src2_host);\r
+ cv::gpu::GpuMat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::magnitude(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Magnitude, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values<perf::MatType>(CV_32FC1)));\r
+\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// AbsDiffScalar\r
+\r
+GPU_PERF_TEST(AbsDiffScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat src1_host(size, type); \r
+ declare.in(src1_host, WARMUP_RNG);\r
+\r
+ cv::gpu::GpuMat src1(src1_host); \r
+ cv::Scalar src2 = cv::Scalar::all(123);\r
+ cv::gpu::GpuMat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::gpu::absdiff(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, AbsDiffScalar, testing::Combine(\r
+ ALL_DEVICES, \r
+ GPU_TYPICAL_MAT_SIZES, \r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+\r
//////////////////////////////////////////////////////////////////////\r
// MeanStdDev\r
\r
GPU_TYPICAL_MAT_SIZES,\r
testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// SubtractMat\r
+\r
+GPU_PERF_TEST(SubtractMat, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Mat src2(size, type);\r
+\r
+ fill(src1, 0.0, 100.0);\r
+ fill(src2, 0.0, 100.0);\r
+\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::subtract(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, SubtractMat, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// SubtractScalar\r
+\r
+GPU_PERF_TEST(SubtractScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src(size, type);\r
+\r
+ fill(src, 0.0, 100.0);\r
+\r
+ cv::Scalar s(1,2,3,4);\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::subtract(src, s, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, SubtractScalar, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// MultiplyMat\r
+\r
+GPU_PERF_TEST(MultiplyMat, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Mat src2(size, type);\r
+\r
+ fill(src1, 0.0, 100.0);\r
+ fill(src2, 0.0, 100.0);\r
+\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::multiply(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, MultiplyMat, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// MultiplyScalar\r
+\r
+GPU_PERF_TEST(MultiplyScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src(size, type);\r
+\r
+ fill(src, 0.0, 100.0);\r
+\r
+ cv::Scalar s(1,2,3,4);\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::multiply(src, s, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, MultiplyScalar, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// DivideMat\r
+\r
+GPU_PERF_TEST(DivideMat, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Mat src2(size, type);\r
+\r
+ fill(src1, 0.0, 100.0);\r
+ fill(src2, 0.0, 100.0);\r
+\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::divide(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, DivideMat, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// DivideScalar\r
+\r
+GPU_PERF_TEST(DivideScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src(size, type);\r
+\r
+ fill(src, 0.0, 100.0);\r
+\r
+ cv::Scalar s(1,2,3,4);\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::divide(src, s, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, DivideScalar, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+\r
//////////////////////////////////////////////////////////////////////\r
// Exp\r
\r
testing::Values(perf::MatType(CV_32FC1))));\r
\r
//////////////////////////////////////////////////////////////////////\r
+// Log\r
+\r
+GPU_PERF_TEST(Log, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src(size, type);\r
+\r
+ declare.in(src, WARMUP_RNG);\r
+\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::log(src, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Log, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(perf::MatType(CV_32FC1))));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Sqrt\r
+\r
+GPU_PERF_TEST(Sqrt, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src(size, type);\r
+\r
+ declare.in(src, WARMUP_RNG);\r
+\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::sqrt(src, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Sqrt, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(perf::MatType(CV_32FC1))));\r
+\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
// Compare\r
\r
GPU_PERF_TEST(Compare, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
GPU_TYPICAL_MAT_SIZES,\r
testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// CompareScalar\r
+\r
+GPU_PERF_TEST(CompareScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Scalar src2 = cv::Scalar::all(123);\r
+\r
+ declare.in(src1, WARMUP_RNG);\r
+\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::compare(src1, src2, dst, cv::CMP_EQ);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, CompareScalar, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32FC1)));\r
+\r
+\r
+\r
//////////////////////////////////////////////////////////////////////\r
// BitwiseNot\r
\r
GPU_TYPICAL_MAT_SIZES,\r
testing::Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32SC1, CV_32SC3, CV_32SC4)));\r
\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// BitwiseOr\r
+\r
+GPU_PERF_TEST(BitwiseOr, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Mat src2(size, type);\r
+\r
+ declare.in(src1, src2, WARMUP_RNG);\r
+\r
+ cv::Mat dst;\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::bitwise_or(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, BitwiseOr, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// BitwiseScalarOr\r
+\r
+GPU_PERF_TEST(BitwiseScalarOr, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src(size, type);\r
+\r
+ declare.in(src, WARMUP_RNG);\r
+\r
+ cv::Mat dst;\r
+ cv::Scalar sc = cv::Scalar(123, 123, 123, 123);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::bitwise_or(src, sc, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, BitwiseScalarOr, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32SC1, CV_32SC3, CV_32SC4)));\r
+\r
+\r
+\r
//////////////////////////////////////////////////////////////////////\r
// Min\r
\r
testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
\r
//////////////////////////////////////////////////////////////////////\r
+// Max\r
+\r
+GPU_PERF_TEST(Max, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Mat src2(size, type);\r
+\r
+ declare.in(src1, src2, WARMUP_RNG);\r
+\r
+ cv::Mat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::max(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Max, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Abs\r
+\r
+GPU_PERF_TEST(Abs, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ \r
+ declare.in(src1, WARMUP_RNG);\r
+\r
+ cv::Mat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ dst = cv::abs(src1);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Abs, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_16S, CV_32F)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// AbsDiff\r
+\r
+GPU_PERF_TEST(AbsDiff, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Mat src2(size, type);\r
+ \r
+ declare.in(src1, src2, WARMUP_RNG);\r
+\r
+ cv::Mat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::absdiff(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, AbsDiff, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// AbsDiffScalar\r
+\r
+GPU_PERF_TEST(AbsDiffScalar, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Scalar src2 = cv::Scalar::all(123);\r
+ \r
+ declare.in(src1, WARMUP_RNG);\r
+\r
+ cv::Mat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::absdiff(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, AbsDiffScalar, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values(CV_8UC1, CV_16UC1, CV_32SC1)));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Phase\r
+\r
+GPU_PERF_TEST(Phase, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Mat src2(size, type);\r
+ \r
+ declare.in(src1, src2, WARMUP_RNG);\r
+\r
+ cv::Mat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::phase(src1, src2, dst, true);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Phase, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values<perf::MatType>(CV_32FC1) ));\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
+// Magnitude\r
+\r
+GPU_PERF_TEST(Magnitude, cv::gpu::DeviceInfo, cv::Size, perf::MatType)\r
+{\r
+ cv::Size size = GET_PARAM(1);\r
+ int type = GET_PARAM(2);\r
+\r
+ cv::Mat src1(size, type);\r
+ cv::Mat src2(size, type);\r
+ \r
+ declare.in(src1, src2, WARMUP_RNG);\r
+\r
+ cv::Mat dst(size, type);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cv::magnitude(src1, src2, dst);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(Arithm, Magnitude, testing::Combine(\r
+ ALL_DEVICES,\r
+ GPU_TYPICAL_MAT_SIZES,\r
+ testing::Values<perf::MatType>(CV_32FC1) ));\r
+\r
+\r
+\r
+//////////////////////////////////////////////////////////////////////\r
// MeanStdDev\r
\r
GPU_PERF_TEST(MeanStdDev, cv::gpu::DeviceInfo, cv::Size)\r