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.
5 // Copyright (C) 2018 Intel Corporation
8 #include "../test_precomp.hpp"
10 #include "../common/gapi_imgproc_tests.hpp"
11 #include "opencv2/gapi/cpu/imgproc.hpp"
13 #define IMGPROC_CPU cv::gapi::imgproc::cpu::kernels()
19 INSTANTIATE_TEST_CASE_P(Filter2DTestCPU, Filter2DTest,
20 Combine(Values(AbsExact().to_compare_f()),
21 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
23 Values(cv::Size(1280, 720),
26 Values(cv::BORDER_DEFAULT),
28 /*init output matrices or not*/ testing::Bool(),
29 Values(cv::compile_args(IMGPROC_CPU))));
31 INSTANTIATE_TEST_CASE_P(BoxFilterTestCPU, BoxFilterTest,
32 Combine(Values(AbsTolerance(0).to_compare_f()),
33 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
35 Values(cv::Size(1280, 720),
37 Values(cv::BORDER_DEFAULT),
39 /*init output matrices or not*/ testing::Bool(),
40 Values(cv::compile_args(IMGPROC_CPU))));
42 INSTANTIATE_TEST_CASE_P(SepFilterTestCPU_8U, SepFilterTest,
43 Combine(Values(AbsExact().to_compare_f()),
44 Values(CV_8UC1, CV_8UC3),
46 Values(cv::Size(1280, 720),
48 Values(-1, CV_16S, CV_32F),
49 /*init output matrices or not*/ testing::Bool(),
50 Values(cv::compile_args(IMGPROC_CPU))));
52 INSTANTIATE_TEST_CASE_P(SepFilterTestCPU_other, SepFilterTest,
53 Combine(Values(AbsExact().to_compare_f()),
54 Values(CV_16UC1, CV_16SC1, CV_32FC1),
56 Values(cv::Size(1280, 720),
59 /*init output matrices or not*/ testing::Bool(),
60 Values(cv::compile_args(IMGPROC_CPU))));
62 INSTANTIATE_TEST_CASE_P(BlurTestCPU, BlurTest,
63 Combine(Values(AbsTolerance(0.0).to_compare_f()),
64 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
66 Values(cv::Size(1280, 720),
68 Values(cv::BORDER_DEFAULT),
69 /*init output matrices or not*/ testing::Bool(),
70 Values(cv::compile_args(IMGPROC_CPU))));
72 INSTANTIATE_TEST_CASE_P(gaussBlurTestCPU, GaussianBlurTest,
73 Combine(Values(AbsExact().to_compare_f()),
74 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
76 Values(cv::Size(1280, 720),
78 /*init output matrices or not*/ testing::Bool(),
79 Values(cv::compile_args(IMGPROC_CPU))));
81 INSTANTIATE_TEST_CASE_P(MedianBlurTestCPU, MedianBlurTest,
82 Combine(Values(AbsExact().to_compare_f()),
83 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
85 Values(cv::Size(1280, 720),
87 /*init output matrices or not*/ testing::Bool(),
88 Values(cv::compile_args(IMGPROC_CPU))));
90 INSTANTIATE_TEST_CASE_P(ErodeTestCPU, ErodeTest,
91 Combine(Values(AbsExact().to_compare_f()),
92 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
94 Values(cv::Size(1280, 720),
96 Values(cv::MorphShapes::MORPH_RECT,
97 cv::MorphShapes::MORPH_CROSS,
98 cv::MorphShapes::MORPH_ELLIPSE),
99 /*init output matrices or not*/ testing::Bool(),
100 Values(cv::compile_args(IMGPROC_CPU))));
102 INSTANTIATE_TEST_CASE_P(Erode3x3TestCPU, Erode3x3Test,
103 Combine(Values(AbsExact().to_compare_f()),
104 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
105 Values(cv::Size(1280, 720),
107 /*init output matrices or not*/ testing::Bool(),
109 Values(cv::compile_args(IMGPROC_CPU))));
111 INSTANTIATE_TEST_CASE_P(DilateTestCPU, DilateTest,
112 Combine(Values(AbsExact().to_compare_f()),
113 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
115 Values(cv::Size(1280, 720),
117 Values(cv::MorphShapes::MORPH_RECT,
118 cv::MorphShapes::MORPH_CROSS,
119 cv::MorphShapes::MORPH_ELLIPSE),
120 /*init output matrices or not*/ testing::Bool(),
121 Values(cv::compile_args(IMGPROC_CPU))));
123 INSTANTIATE_TEST_CASE_P(Dilate3x3TestCPU, Dilate3x3Test,
124 Combine(Values(AbsExact().to_compare_f()),
125 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
126 Values(cv::Size(1280, 720),
128 /*init output matrices or not*/ testing::Bool(),
130 Values(cv::compile_args(IMGPROC_CPU))));
132 INSTANTIATE_TEST_CASE_P(SobelTestCPU, SobelTest,
133 Combine(Values(AbsExact().to_compare_f()),
134 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
136 Values(cv::Size(1280, 720),
138 Values(-1, CV_16S, CV_32F),
141 /*init output matrices or not*/ testing::Bool(),
142 Values(cv::compile_args(IMGPROC_CPU))));
144 INSTANTIATE_TEST_CASE_P(SobelTestCPU32F, SobelTest,
145 Combine(Values(AbsExact().to_compare_f()),
148 Values(cv::Size(1280, 720),
153 /*init output matrices or not*/ testing::Bool(),
154 Values(cv::compile_args(IMGPROC_CPU))));
156 INSTANTIATE_TEST_CASE_P(SobelXYTestCPU, SobelXYTest,
157 Combine(Values(AbsExact().to_compare_f()),
158 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
160 Values(cv::Size(1280, 720),
162 Values(-1, CV_16S, CV_32F),
164 Values(BORDER_CONSTANT, BORDER_REPLICATE, BORDER_REFLECT),
166 Values(cv::compile_args(IMGPROC_CPU))));
168 INSTANTIATE_TEST_CASE_P(SobelXYTestCPU32F, SobelXYTest,
169 Combine(Values(AbsExact().to_compare_f()),
172 Values(cv::Size(1280, 720),
176 Values(BORDER_CONSTANT, BORDER_REPLICATE, BORDER_REFLECT),
178 Values(cv::compile_args(IMGPROC_CPU))));
180 INSTANTIATE_TEST_CASE_P(EqHistTestCPU, EqHistTest,
181 Combine(Values(AbsExact().to_compare_f()),
182 Values(cv::Size(1280, 720),
184 /*init output matrices or not*/ testing::Bool(),
185 Values(cv::compile_args(IMGPROC_CPU))));
187 INSTANTIATE_TEST_CASE_P(CannyTestCPU, CannyTest,
188 Combine(Values(AbsSimilarPoints(0, 0.05).to_compare_f()),
189 Values(CV_8UC1, CV_8UC3),
190 Values(cv::Size(1280, 720),
193 Values(125.0, 240.0),
196 /*init output matrices or not*/ testing::Bool(),
197 Values(cv::compile_args(IMGPROC_CPU))));
199 INSTANTIATE_TEST_CASE_P(RGB2GrayTestCPU, RGB2GrayTest,
200 Combine(Values(AbsExact().to_compare_f()),
201 Values(cv::Size(1280, 720),
203 /*init output matrices or not*/ testing::Bool(),
204 Values(cv::compile_args(IMGPROC_CPU))));
206 INSTANTIATE_TEST_CASE_P(BGR2GrayTestCPU, BGR2GrayTest,
207 Combine(Values(AbsExact().to_compare_f()),
208 Values(cv::Size(1280, 720),
210 /*init output matrices or not*/ testing::Bool(),
211 Values(cv::compile_args(IMGPROC_CPU))));
213 INSTANTIATE_TEST_CASE_P(RGB2YUVTestCPU, RGB2YUVTest,
214 Combine(Values(AbsExact().to_compare_f()),
215 Values(cv::Size(1280, 720),
217 /*init output matrices or not*/ testing::Bool(),
218 Values(cv::compile_args(IMGPROC_CPU))));
220 INSTANTIATE_TEST_CASE_P(YUV2RGBTestCPU, YUV2RGBTest,
221 Combine(Values(AbsExact().to_compare_f()),
222 Values(cv::Size(1280, 720),
224 /*init output matrices or not*/ testing::Bool(),
225 Values(cv::compile_args(IMGPROC_CPU))));
227 INSTANTIATE_TEST_CASE_P(NV12toRGBTestCPU, NV12toRGBTest,
228 Combine(Values(AbsExact().to_compare_f()),
229 Values(cv::Size(1280, 720),
231 Values(cv::compile_args(IMGPROC_CPU))));
233 INSTANTIATE_TEST_CASE_P(NV12toBGRTestCPU, NV12toBGRTest,
234 Combine(Values(AbsExact().to_compare_f()),
235 Values(cv::Size(1280, 720),
237 Values(cv::compile_args(IMGPROC_CPU))));
239 INSTANTIATE_TEST_CASE_P(RGB2LabTestCPU, RGB2LabTest,
240 Combine(Values(AbsExact().to_compare_f()),
241 Values(cv::Size(1280, 720),
243 /*init output matrices or not*/ testing::Bool(),
244 Values(cv::compile_args(IMGPROC_CPU))));
246 INSTANTIATE_TEST_CASE_P(BGR2LUVTestCPU, BGR2LUVTest,
247 Combine(Values(AbsExact().to_compare_f()),
248 Values(cv::Size(1280, 720),
250 /*init output matrices or not*/ testing::Bool(),
251 Values(cv::compile_args(IMGPROC_CPU))));
253 INSTANTIATE_TEST_CASE_P(LUV2BGRTestCPU, LUV2BGRTest,
254 Combine(Values(AbsExact().to_compare_f()),
255 Values(cv::Size(1280, 720),
257 /*init output matrices or not*/ testing::Bool(),
258 Values(cv::compile_args(IMGPROC_CPU))));
260 INSTANTIATE_TEST_CASE_P(BGR2YUVTestCPU, BGR2YUVTest,
261 Combine(Values(AbsExact().to_compare_f()),
262 Values(cv::Size(1280, 720),
264 /*init output matrices or not*/ testing::Bool(),
265 Values(cv::compile_args(IMGPROC_CPU))));
267 INSTANTIATE_TEST_CASE_P(YUV2BGRTestCPU, YUV2BGRTest,
268 Combine(Values(AbsExact().to_compare_f()),
269 Values(cv::Size(1280, 720),
271 /*init output matrices or not*/ testing::Bool(),
272 Values(cv::compile_args(IMGPROC_CPU))));