1 #include "perf_precomp.hpp"
6 using std::tr1::make_tuple;
9 PERF_TEST_P(Size_MatType, sum, TYPICAL_MATS)
11 Size sz = get<0>(GetParam());
12 int type = get<1>(GetParam());
17 declare.in(arr, WARMUP_RNG).out(s);
19 TEST_CYCLE() s = sum(arr);
21 SANITY_CHECK(s, 1e-6, ERROR_RELATIVE);
24 PERF_TEST_P(Size_MatType, mean, TYPICAL_MATS)
26 Size sz = get<0>(GetParam());
27 int type = get<1>(GetParam());
32 declare.in(src, WARMUP_RNG).out(s);
34 TEST_CYCLE() s = mean(src);
36 SANITY_CHECK(s, 1e-5);
39 PERF_TEST_P(Size_MatType, mean_mask, TYPICAL_MATS)
41 Size sz = get<0>(GetParam());
42 int type = get<1>(GetParam());
45 Mat mask = Mat::ones(src.size(), CV_8U);
48 declare.in(src, WARMUP_RNG).in(mask).out(s);
50 TEST_CYCLE() s = mean(src, mask);
52 SANITY_CHECK(s, 5e-5);
55 PERF_TEST_P(Size_MatType, meanStdDev, TYPICAL_MATS)
57 Size sz = get<0>(GetParam());
58 int matType = get<1>(GetParam());
64 declare.in(src, WARMUP_RNG).out(mean, dev);
66 TEST_CYCLE() meanStdDev(src, mean, dev);
68 SANITY_CHECK(mean, 1e-6);
69 SANITY_CHECK(dev, 1e-6);
72 PERF_TEST_P(Size_MatType, meanStdDev_mask, TYPICAL_MATS)
74 Size sz = get<0>(GetParam());
75 int matType = get<1>(GetParam());
78 Mat mask = Mat::ones(sz, CV_8U);
82 declare.in(src, WARMUP_RNG).in(mask).out(mean, dev);
84 TEST_CYCLE() meanStdDev(src, mean, dev, mask);
86 SANITY_CHECK(mean, 1e-6);
87 SANITY_CHECK(dev, 1e-6);
90 PERF_TEST_P(Size_MatType, countNonZero, testing::Combine( testing::Values( TYPICAL_MAT_SIZES ), testing::Values( CV_8UC1, CV_8SC1, CV_16UC1, CV_16SC1, CV_32SC1, CV_32FC1, CV_64FC1 ) ))
92 Size sz = get<0>(GetParam());
93 int matType = get<1>(GetParam());
98 declare.in(src, WARMUP_RNG);
100 int runs = (sz.width <= 640) ? 8 : 1;
101 TEST_CYCLE_MULTIRUN(runs) cnt = countNonZero(src);