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_FLUID cv::gapi::imgproc::fluid::kernels()
16 INSTANTIATE_TEST_CASE_P(SepFilterPerfTestFluid_8U, SepFilterPerfTest,
17 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
18 Values(CV_8UC1, CV_8UC3),
20 Values(szVGA, sz720p, sz1080p),
21 Values(-1, CV_16S, CV_32F),
22 Values(cv::compile_args(IMGPROC_FLUID))));
24 INSTANTIATE_TEST_CASE_P(SepFilterPerfTestFluid_other, SepFilterPerfTest,
25 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
26 Values(CV_16UC1, CV_16SC1, CV_32FC1),
28 Values(szVGA, sz720p, sz1080p),
30 Values(cv::compile_args(IMGPROC_FLUID))));
32 INSTANTIATE_TEST_CASE_P(Filter2DPerfTestFluid, Filter2DPerfTest,
33 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
34 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
35 Values(3), // add 4, 5, 7 when kernel is ready
36 Values(szVGA, sz720p, sz1080p),
37 Values(cv::BORDER_DEFAULT),
39 Values(cv::compile_args(IMGPROC_FLUID))));
41 INSTANTIATE_TEST_CASE_P(BoxFilterPerfTestFluid, BoxFilterPerfTest,
42 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
43 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
44 Values(3), // add size=5, when kernel is ready
45 Values(szVGA, sz720p, sz1080p),
46 Values(cv::BORDER_DEFAULT),
48 Values(cv::compile_args(IMGPROC_FLUID))));
50 INSTANTIATE_TEST_CASE_P(BlurPerfTestFluid, BlurPerfTest,
51 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
52 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
53 Values(3), // add size=5, when kernel is ready
54 Values(szVGA, sz720p, sz1080p),
55 Values(cv::BORDER_DEFAULT),
56 Values(cv::compile_args(IMGPROC_FLUID))));
58 INSTANTIATE_TEST_CASE_P(GaussianBlurPerfTestFluid, GaussianBlurPerfTest,
59 Combine(Values(ToleranceFilter(1e-3f, 0.01).to_compare_f()),
60 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
61 Values(3), // add size=5, when kernel is ready
62 Values(szVGA, sz720p, sz1080p),
63 Values(cv::compile_args(IMGPROC_FLUID))));
65 INSTANTIATE_TEST_CASE_P(MedianBlurPerfTestFluid, MedianBlurPerfTest,
66 Combine(Values(AbsExact().to_compare_f()),
67 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
68 Values(3), // add size=5, when kernel is ready
69 Values(szVGA, sz720p, sz1080p),
70 Values(cv::compile_args(IMGPROC_FLUID))));
72 INSTANTIATE_TEST_CASE_P(ErodePerfTestFluid, ErodePerfTest,
73 Combine(Values(AbsExact().to_compare_f()),
74 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
75 Values(3), // add size=5, when kernel is ready
76 Values(szVGA, sz720p, sz1080p),
77 Values(cv::MorphShapes::MORPH_RECT,
78 cv::MorphShapes::MORPH_CROSS,
79 cv::MorphShapes::MORPH_ELLIPSE),
80 Values(cv::compile_args(IMGPROC_FLUID))));
82 // GAPI/fluid does not support iterations parameter for the Erode kernel
83 INSTANTIATE_TEST_CASE_P(DISABLED_Erode3x3PerfTestFluid, Erode3x3PerfTest,
84 Combine(Values(AbsExact().to_compare_f()),
85 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
86 Values(szVGA, sz720p, sz1080p),
88 Values(cv::compile_args(IMGPROC_FLUID))));
90 INSTANTIATE_TEST_CASE_P(DilatePerfTestFluid, DilatePerfTest,
91 Combine(Values(AbsExact().to_compare_f()),
92 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
93 Values(3), // add size=5, when kernel is ready
94 Values(szVGA, sz720p, sz1080p),
95 Values(cv::MorphShapes::MORPH_RECT,
96 cv::MorphShapes::MORPH_CROSS,
97 cv::MorphShapes::MORPH_ELLIPSE),
98 Values(cv::compile_args(IMGPROC_FLUID))));
100 // GAPI/fluid does not support iterations parameter for the Dilate kernel
101 INSTANTIATE_TEST_CASE_P(DISABLED_Dilate3x3PerfTestFluid, Dilate3x3PerfTest,
102 Combine(Values(AbsExact().to_compare_f()),
103 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
104 Values(szVGA, sz720p, sz1080p),
106 Values(cv::compile_args(IMGPROC_FLUID))));
108 INSTANTIATE_TEST_CASE_P(SobelPerfTestFluid, SobelPerfTest,
109 Combine(Values(AbsExact().to_compare_f()),
110 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
111 Values(3), // add 5x5 once supported
112 Values(szVGA, sz720p, sz1080p),
113 Values(-1, CV_16S, CV_32F),
116 Values(cv::compile_args(IMGPROC_FLUID))));
118 INSTANTIATE_TEST_CASE_P(SobelPerfTestFluid32F, SobelPerfTest,
119 Combine(Values(ToleranceFilter(1e-3f, 0.0).to_compare_f()),
121 Values(3), // add 5x5 once supported
122 Values(szVGA, sz720p, sz1080p),
126 Values(cv::compile_args(IMGPROC_FLUID))));
128 INSTANTIATE_TEST_CASE_P(RGB2GrayPerfTestFluid, RGB2GrayPerfTest,
129 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
130 Values(szVGA, sz720p, sz1080p),
131 Values(cv::compile_args(IMGPROC_FLUID))));
133 INSTANTIATE_TEST_CASE_P(BGR2GrayPerfTestFluid, BGR2GrayPerfTest,
134 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
135 Values(szVGA, sz720p, sz1080p),
136 Values(cv::compile_args(IMGPROC_FLUID))));
138 INSTANTIATE_TEST_CASE_P(RGB2YUVPerfTestFluid, RGB2YUVPerfTest,
139 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
140 Values(szVGA, sz720p, sz1080p),
141 Values(cv::compile_args(IMGPROC_FLUID))));
143 INSTANTIATE_TEST_CASE_P(YUV2RGBPerfTestFluid, YUV2RGBPerfTest,
144 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
145 Values(szVGA, sz720p, sz1080p),
146 Values(cv::compile_args(IMGPROC_FLUID))));
148 INSTANTIATE_TEST_CASE_P(BGR2YUVPerfTestFluid, BGR2YUVPerfTest,
149 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
150 Values(szVGA, sz720p, sz1080p),
151 Values(cv::compile_args(IMGPROC_FLUID))));
153 INSTANTIATE_TEST_CASE_P(YUV2BGRPerfTestFluid, YUV2BGRPerfTest,
154 Combine(Values(ToleranceColor(1e-3).to_compare_f()),
155 Values(szVGA, sz720p, sz1080p),
156 Values(cv::compile_args(IMGPROC_FLUID))));
158 INSTANTIATE_TEST_CASE_P(BGR2LUVPerfTestFluid, BGR2LUVPerfTest,
159 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
160 Values(szVGA, sz720p, sz1080p),
161 Values(cv::compile_args(IMGPROC_FLUID))));
163 INSTANTIATE_TEST_CASE_P(RGB2LabPerfTestFluid, RGB2LabPerfTest,
164 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
165 Values(szVGA, sz720p, sz1080p),
166 Values(cv::compile_args(IMGPROC_FLUID))));