Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/core/perf/perf_bitwise.cpp
16354 views
1
#include "perf_precomp.hpp"
2
3
namespace opencv_test
4
{
5
using namespace perf;
6
7
#define TYPICAL_MAT_SIZES_BITW_ARITHM TYPICAL_MAT_SIZES
8
#define TYPICAL_MAT_TYPES_BITW_ARITHM CV_8UC1, CV_8SC1, CV_8UC4, CV_32SC1, CV_32SC4
9
#define TYPICAL_MATS_BITW_ARITHM testing::Combine(testing::Values(TYPICAL_MAT_SIZES_BITW_ARITHM), testing::Values(TYPICAL_MAT_TYPES_BITW_ARITHM))
10
11
PERF_TEST_P(Size_MatType, bitwise_not, TYPICAL_MATS_BITW_ARITHM)
12
{
13
Size sz = get<0>(GetParam());
14
int type = get<1>(GetParam());
15
16
cv::Mat a = Mat(sz, type);
17
cv::Mat c = Mat(sz, type);
18
19
declare.in(a, WARMUP_RNG).out(c);
20
declare.iterations(200);
21
22
TEST_CYCLE() cv::bitwise_not(a, c);
23
24
SANITY_CHECK(c);
25
}
26
27
PERF_TEST_P(Size_MatType, bitwise_and, TYPICAL_MATS_BITW_ARITHM)
28
{
29
Size sz = get<0>(GetParam());
30
int type = get<1>(GetParam());
31
cv::Mat a = Mat(sz, type);
32
cv::Mat b = Mat(sz, type);
33
cv::Mat c = Mat(sz, type);
34
35
declare.in(a, b, WARMUP_RNG).out(c);
36
declare.time(100);
37
38
TEST_CYCLE() bitwise_and(a, b, c);
39
40
SANITY_CHECK(c);
41
}
42
43
PERF_TEST_P(Size_MatType, bitwise_or, TYPICAL_MATS_BITW_ARITHM)
44
{
45
Size sz = get<0>(GetParam());
46
int type = get<1>(GetParam());
47
cv::Mat a = Mat(sz, type);
48
cv::Mat b = Mat(sz, type);
49
cv::Mat c = Mat(sz, type);
50
51
declare.in(a, b, WARMUP_RNG).out(c);
52
declare.time(100);
53
54
TEST_CYCLE() bitwise_or(a, b, c);
55
56
SANITY_CHECK(c);
57
}
58
59
PERF_TEST_P(Size_MatType, bitwise_xor, TYPICAL_MATS_BITW_ARITHM)
60
{
61
Size sz = get<0>(GetParam());
62
int type = get<1>(GetParam());
63
cv::Mat a = Mat(sz, type);
64
cv::Mat b = Mat(sz, type);
65
cv::Mat c = Mat(sz, type);
66
67
declare.in(a, b, WARMUP_RNG).out(c);
68
declare.time(100);
69
70
TEST_CYCLE() bitwise_xor(a, b, c);
71
72
SANITY_CHECK(c);
73
}
74
75
} // namespace
76
77