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-2019 Intel Corporation
8 #include "../perf_precomp.hpp"
9 #include "../common/gapi_imgproc_perf_tests.hpp"
11 #define IMGPROC_GPU cv::gapi::imgproc::gpu::kernels()
17 INSTANTIATE_TEST_CASE_P(SepFilterPerfTestGPU_8U, SepFilterPerfTest,
18 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
19 Values(CV_8UC1, CV_8UC3),
21 Values(szVGA, sz720p, sz1080p),
22 Values(-1, CV_16S, CV_32F),
23 Values(cv::compile_args(IMGPROC_GPU))));
25 INSTANTIATE_TEST_CASE_P(SepFilterPerfTestGPU_other, SepFilterPerfTest,
26 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
27 Values(CV_16UC1, CV_16SC1, CV_32FC1),
29 Values(szVGA, sz720p, sz1080p),
31 Values(cv::compile_args(IMGPROC_GPU))));
35 INSTANTIATE_TEST_CASE_P(Filter2DPerfTestGPU, Filter2DPerfTest,
36 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
37 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
39 Values(szVGA, sz720p, sz1080p),
40 Values(cv::BORDER_DEFAULT),
42 Values(cv::compile_args(IMGPROC_GPU))));
44 INSTANTIATE_TEST_CASE_P(BoxFilterPerfTestGPU, BoxFilterPerfTest,
45 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
46 Values(/*CV_8UC1,*/ CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
48 Values(szVGA, sz720p, sz1080p),
49 Values(cv::BORDER_DEFAULT),
51 Values(cv::compile_args(IMGPROC_GPU)))); //TODO: 8UC1 doesn't work
53 INSTANTIATE_TEST_CASE_P(BlurPerfTestGPU, BlurPerfTest,
54 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
55 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
57 Values(szVGA, sz720p, sz1080p),
58 Values(cv::BORDER_DEFAULT),
59 Values(cv::compile_args(IMGPROC_GPU))));
61 INSTANTIATE_TEST_CASE_P(GaussianBlurPerfTestGPU, GaussianBlurPerfTest,
62 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()), //TODO: too relaxed?
63 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
65 Values(szVGA, sz720p, sz1080p),
66 Values(cv::compile_args(IMGPROC_GPU))));
68 INSTANTIATE_TEST_CASE_P(MedianBlurPerfTestGPU, MedianBlurPerfTest,
69 Combine(Values(AbsExact().to_compare_f()),
70 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
72 Values(szVGA, sz720p, sz1080p),
73 Values(cv::compile_args(IMGPROC_GPU))));
75 INSTANTIATE_TEST_CASE_P(ErodePerfTestGPU, ErodePerfTest,
76 Combine(Values(AbsExact().to_compare_f()),
77 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
79 Values(szVGA, sz720p, sz1080p),
80 Values(cv::MorphShapes::MORPH_RECT,
81 cv::MorphShapes::MORPH_CROSS,
82 cv::MorphShapes::MORPH_ELLIPSE),
83 Values(cv::compile_args(IMGPROC_GPU))));
85 INSTANTIATE_TEST_CASE_P(Erode3x3PerfTestGPU, Erode3x3PerfTest,
86 Combine(Values(AbsExact().to_compare_f()),
87 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
88 Values(szVGA, sz720p, sz1080p),
90 Values(cv::compile_args(IMGPROC_GPU))));
92 INSTANTIATE_TEST_CASE_P(DilatePerfTestGPU, DilatePerfTest,
93 Combine(Values(AbsExact().to_compare_f()),
94 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
96 Values(szVGA, sz720p, sz1080p),
97 Values(cv::MorphShapes::MORPH_RECT,
98 cv::MorphShapes::MORPH_CROSS,
99 cv::MorphShapes::MORPH_ELLIPSE),
100 Values(cv::compile_args(IMGPROC_GPU))));
102 INSTANTIATE_TEST_CASE_P(Dilate3x3PerfTestGPU, Dilate3x3PerfTest,
103 Combine(Values(AbsExact().to_compare_f()),
104 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
105 Values(szVGA, sz720p, sz1080p),
107 Values(cv::compile_args(IMGPROC_GPU))));
109 INSTANTIATE_TEST_CASE_P(SobelPerfTestGPU, SobelPerfTest,
110 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
111 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
113 Values(szVGA, sz720p, sz1080p),
114 Values(-1, CV_16S, CV_32F),
117 Values(cv::compile_args(IMGPROC_GPU))));
119 INSTANTIATE_TEST_CASE_P(SobelPerfTestGPU32F, SobelPerfTest,
120 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
123 Values(szVGA, sz720p, sz1080p),
127 Values(cv::compile_args(IMGPROC_GPU))));
129 INSTANTIATE_TEST_CASE_P(CannyPerfTestGPU, CannyPerfTest,
130 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
131 Values(CV_8UC1, CV_8UC3),
132 Values(szVGA, sz720p, sz1080p),
134 Values(125.0, 240.0),
137 Values(cv::compile_args(IMGPROC_GPU))));
139 INSTANTIATE_TEST_CASE_P(EqHistPerfTestGPU, EqHistPerfTest,
140 Combine(Values(AbsExact().to_compare_f()), // FIXIT unrealiable check
141 Values(szVGA, sz720p, sz1080p),
142 Values(cv::compile_args(IMGPROC_GPU))));
144 INSTANTIATE_TEST_CASE_P(RGB2GrayPerfTestGPU, RGB2GrayPerfTest,
145 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
146 Values(szVGA, sz720p, sz1080p),
147 Values(cv::compile_args(IMGPROC_GPU))));
149 INSTANTIATE_TEST_CASE_P(BGR2GrayPerfTestGPU, BGR2GrayPerfTest,
150 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
151 Values(szVGA, sz720p, sz1080p),
152 Values(cv::compile_args(IMGPROC_GPU))));
154 INSTANTIATE_TEST_CASE_P(RGB2YUVPerfTestGPU, RGB2YUVPerfTest,
155 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
156 Values(szVGA, sz720p, sz1080p),
157 Values(cv::compile_args(IMGPROC_GPU))));
159 INSTANTIATE_TEST_CASE_P(YUV2RGBPerfTestGPU, YUV2RGBPerfTest,
160 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
161 Values(szVGA, sz720p, sz1080p),
162 Values(cv::compile_args(IMGPROC_GPU))));
164 INSTANTIATE_TEST_CASE_P(RGB2LabPerfTestGPU, RGB2LabPerfTest,
165 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
166 Values(szVGA, sz720p, sz1080p),
167 Values(cv::compile_args(IMGPROC_GPU))));
169 INSTANTIATE_TEST_CASE_P(BGR2LUVPerfTestGPU, BGR2LUVPerfTest,
170 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
171 Values(szVGA, sz720p, sz1080p),
172 Values(cv::compile_args(IMGPROC_GPU))));
174 INSTANTIATE_TEST_CASE_P(LUV2BGRPerfTestGPU, LUV2BGRPerfTest,
175 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
176 Values(szVGA, sz720p, sz1080p),
177 Values(cv::compile_args(IMGPROC_GPU))));
179 INSTANTIATE_TEST_CASE_P(BGR2YUVPerfTestGPU, BGR2YUVPerfTest,
180 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
181 Values(szVGA, sz720p, sz1080p),
182 Values(cv::compile_args(IMGPROC_GPU))));
184 INSTANTIATE_TEST_CASE_P(YUV2BGRPerfTestGPU, YUV2BGRPerfTest,
185 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
186 Values(szVGA, sz720p, sz1080p),
187 Values(cv::compile_args(IMGPROC_GPU))));