Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/gapi/perf/cpu/gapi_imgproc_perf_tests_cpu.cpp
16358 views
1
// This file is part of OpenCV project.
2
// It is subject to the license terms in the LICENSE file found in the top-level directory
3
// of this distribution and at http://opencv.org/license.html.
4
//
5
// Copyright (C) 2018 Intel Corporation
6
7
8
#include "../perf_precomp.hpp"
9
#include "../common/gapi_imgproc_perf_tests.hpp"
10
#include "opencv2/gapi/cpu/imgproc.hpp"
11
12
13
#define IMGPROC_CPU cv::gapi::imgproc::cpu::kernels()
14
15
namespace opencv_test
16
{
17
18
class AbsExact : public Wrappable<AbsExact>
19
{
20
public:
21
AbsExact() {}
22
bool operator() (const cv::Mat& in1, const cv::Mat& in2) const { return cv::countNonZero(in1 != in2) == 0; }
23
private:
24
};
25
26
class AbsTolerance : public Wrappable<AbsTolerance>
27
{
28
public:
29
AbsTolerance(double tol) : _tol(tol) {}
30
bool operator() (const cv::Mat& in1, const cv::Mat& in2) const
31
{
32
cv::Mat absDiff; cv::absdiff(in1, in2, absDiff);
33
return cv::countNonZero(absDiff > _tol) == 0;
34
}
35
private:
36
double _tol;
37
};
38
39
40
INSTANTIATE_TEST_CASE_P(SepFilterPerfTestCPU_8U, SepFilterPerfTest,
41
Combine(Values(AbsExact().to_compare_f()),
42
Values(CV_8UC1, CV_8UC3),
43
Values(3),
44
Values(szVGA, sz720p, sz1080p),
45
Values(-1, CV_16S, CV_32F),
46
Values(cv::compile_args(IMGPROC_CPU))));
47
48
INSTANTIATE_TEST_CASE_P(SepFilterPerfTestCPU_other, SepFilterPerfTest,
49
Combine(Values(AbsExact().to_compare_f()),
50
Values(CV_16UC1, CV_16SC1, CV_32FC1),
51
Values(3),
52
Values(szVGA, sz720p, sz1080p),
53
Values(-1, CV_32F),
54
Values(cv::compile_args(IMGPROC_CPU))));
55
56
57
58
INSTANTIATE_TEST_CASE_P(Filter2DPerfTestCPU, Filter2DPerfTest,
59
Combine(Values(AbsExact().to_compare_f()),
60
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
61
Values(3, 4, 5, 7),
62
Values(szVGA, sz720p, sz1080p),
63
Values(cv::BORDER_DEFAULT),
64
Values(-1, CV_32F),
65
Values(cv::compile_args(IMGPROC_CPU))));
66
67
INSTANTIATE_TEST_CASE_P(BoxFilterPerfTestCPU, BoxFilterPerfTest,
68
Combine(Values(AbsTolerance(1e-6).to_compare_f()),
69
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
70
Values(3, 5),
71
Values(szVGA, sz720p, sz1080p),
72
Values(cv::BORDER_DEFAULT),
73
Values(-1, CV_32F),
74
Values(cv::compile_args(IMGPROC_CPU))));
75
76
INSTANTIATE_TEST_CASE_P(BlurPerfTestCPU, BlurPerfTest,
77
Combine(Values(AbsTolerance(1e-6).to_compare_f()),
78
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
79
Values(3, 5),
80
Values(szVGA, sz720p, sz1080p),
81
Values(cv::BORDER_DEFAULT),
82
Values(cv::compile_args(IMGPROC_CPU))));
83
84
INSTANTIATE_TEST_CASE_P(GaussianBlurPerfTestCPU, GaussianBlurPerfTest,
85
Combine(Values(AbsExact().to_compare_f()),
86
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
87
Values(3, 5),
88
Values(szVGA, sz720p, sz1080p),
89
Values(cv::compile_args(IMGPROC_CPU))));
90
91
INSTANTIATE_TEST_CASE_P(MedianBlurPerfTestCPU, MedianBlurPerfTest,
92
Combine(Values(AbsExact().to_compare_f()),
93
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
94
Values(3, 5),
95
Values(szVGA, sz720p, sz1080p),
96
Values(cv::compile_args(IMGPROC_CPU))));
97
98
INSTANTIATE_TEST_CASE_P(ErodePerfTestCPU, ErodePerfTest,
99
Combine(Values(AbsExact().to_compare_f()),
100
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
101
Values(3, 5),
102
Values(szVGA, sz720p, sz1080p),
103
Values(cv::MorphShapes::MORPH_RECT,
104
cv::MorphShapes::MORPH_CROSS,
105
cv::MorphShapes::MORPH_ELLIPSE),
106
Values(cv::compile_args(IMGPROC_CPU))));
107
108
INSTANTIATE_TEST_CASE_P(Erode3x3PerfTestCPU, Erode3x3PerfTest,
109
Combine(Values(AbsExact().to_compare_f()),
110
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
111
Values(szVGA, sz720p, sz1080p),
112
Values(1, 2, 4),
113
Values(cv::compile_args(IMGPROC_CPU))));
114
115
INSTANTIATE_TEST_CASE_P(DilatePerfTestCPU, DilatePerfTest,
116
Combine(Values(AbsExact().to_compare_f()),
117
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
118
Values(3, 5),
119
Values(szVGA, sz720p, sz1080p),
120
Values(cv::MorphShapes::MORPH_RECT,
121
cv::MorphShapes::MORPH_CROSS,
122
cv::MorphShapes::MORPH_ELLIPSE),
123
Values(cv::compile_args(IMGPROC_CPU))));
124
125
INSTANTIATE_TEST_CASE_P(Dilate3x3PerfTestCPU, Dilate3x3PerfTest,
126
Combine(Values(AbsExact().to_compare_f()),
127
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
128
Values(szVGA, sz720p, sz1080p),
129
Values(1, 2, 4),
130
Values(cv::compile_args(IMGPROC_CPU))));
131
132
INSTANTIATE_TEST_CASE_P(SobelPerfTestCPU, SobelPerfTest,
133
Combine(Values(AbsExact().to_compare_f()),
134
Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
135
Values(3, 5),
136
Values(szVGA, sz720p, sz1080p),
137
Values(-1, CV_32F),
138
Values(0, 1),
139
Values(1, 2),
140
Values(cv::compile_args(IMGPROC_CPU))));
141
142
INSTANTIATE_TEST_CASE_P(CannyPerfTestCPU, CannyPerfTest,
143
Combine(Values(AbsExact().to_compare_f()),
144
Values(CV_8UC1, CV_8UC3),
145
Values(szVGA, sz720p, sz1080p),
146
Values(3.0, 120.0),
147
Values(125.0, 240.0),
148
Values(3, 5),
149
Values(true, false),
150
Values(cv::compile_args(IMGPROC_CPU))));
151
152
INSTANTIATE_TEST_CASE_P(EqHistPerfTestCPU, EqHistPerfTest,
153
Combine(Values(AbsExact().to_compare_f()),
154
Values(szVGA, sz720p, sz1080p),
155
Values(cv::compile_args(IMGPROC_CPU))));
156
157
INSTANTIATE_TEST_CASE_P(RGB2GrayPerfTestCPU, RGB2GrayPerfTest,
158
Combine(Values(AbsExact().to_compare_f()),
159
Values(szVGA, sz720p, sz1080p),
160
Values(cv::compile_args(IMGPROC_CPU))));
161
162
INSTANTIATE_TEST_CASE_P(BGR2GrayPerfTestCPU, BGR2GrayPerfTest,
163
Combine(Values(AbsExact().to_compare_f()),
164
Values(szVGA, sz720p, sz1080p),
165
Values(cv::compile_args(IMGPROC_CPU))));
166
167
INSTANTIATE_TEST_CASE_P(RGB2YUVPerfTestCPU, RGB2YUVPerfTest,
168
Combine(Values(AbsExact().to_compare_f()),
169
Values(szVGA, sz720p, sz1080p),
170
Values(cv::compile_args(IMGPROC_CPU))));
171
172
INSTANTIATE_TEST_CASE_P(YUV2RGBPerfTestCPU, YUV2RGBPerfTest,
173
Combine(Values(AbsExact().to_compare_f()),
174
Values(szVGA, sz720p, sz1080p),
175
Values(cv::compile_args(IMGPROC_CPU))));
176
177
INSTANTIATE_TEST_CASE_P(RGB2LabPerfTestCPU, RGB2LabPerfTest,
178
Combine(Values(AbsExact().to_compare_f()),
179
Values(szVGA, sz720p, sz1080p),
180
Values(cv::compile_args(IMGPROC_CPU))));
181
182
INSTANTIATE_TEST_CASE_P(BGR2LUVPerfTestCPU, BGR2LUVPerfTest,
183
Combine(Values(AbsExact().to_compare_f()),
184
Values(szVGA, sz720p, sz1080p),
185
Values(cv::compile_args(IMGPROC_CPU))));
186
187
INSTANTIATE_TEST_CASE_P(LUV2BGRPerfTestCPU, LUV2BGRPerfTest,
188
Combine(Values(AbsExact().to_compare_f()),
189
Values(szVGA, sz720p, sz1080p),
190
Values(cv::compile_args(IMGPROC_CPU))));
191
192
INSTANTIATE_TEST_CASE_P(BGR2YUVPerfTestCPU, BGR2YUVPerfTest,
193
Combine(Values(AbsExact().to_compare_f()),
194
Values(szVGA, sz720p, sz1080p),
195
Values(cv::compile_args(IMGPROC_CPU))));
196
197
INSTANTIATE_TEST_CASE_P(YUV2BGRPerfTestCPU, YUV2BGRPerfTest,
198
Combine(Values(AbsExact().to_compare_f()),
199
Values(szVGA, sz720p, sz1080p),
200
Values(cv::compile_args(IMGPROC_CPU))));
201
202
}
203
204