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 11 #define IMGPROC_FLUID cv::gapi::imgproc::fluid::kernels() 12 13 namespace opencv_test 14 { 15 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), 19 Values(3), 20 Values(szVGA, sz720p, sz1080p), 21 Values(-1, CV_16S, CV_32F), 22 Values(cv::compile_args(IMGPROC_FLUID)))); 23 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), 27 Values(3), 28 Values(szVGA, sz720p, sz1080p), 29 Values(-1, CV_32F), 30 Values(cv::compile_args(IMGPROC_FLUID)))); 31 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), // TODO: add 4, 5, 7 when kernel is ready 36 Values(szVGA, sz720p, sz1080p), 37 Values(cv::BORDER_DEFAULT), 38 Values(-1, CV_32F), 39 Values(cv::compile_args(IMGPROC_FLUID)))); 40 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), // TODO: add size=5, when kernel is ready 45 Values(szVGA, sz720p, sz1080p), 46 Values(cv::BORDER_DEFAULT), 47 Values(-1, CV_32F), 48 Values(cv::compile_args(IMGPROC_FLUID)))); 49 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), // TODO: add size=5, when kernel is ready 54 Values(szVGA, sz720p, sz1080p), 55 Values(cv::BORDER_DEFAULT), 56 Values(cv::compile_args(IMGPROC_FLUID)))); 57 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, 5), 62 Values(szVGA, sz720p, sz1080p), 63 Values(cv::compile_args(IMGPROC_FLUID)))); 64 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), // TODO: add size=5, when kernel is ready 69 Values(szVGA, sz720p, sz1080p), 70 Values(cv::compile_args(IMGPROC_FLUID)))); 71 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), // TODO: 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)))); 81 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), 87 Values(1, 2, 4), 88 Values(cv::compile_args(IMGPROC_FLUID)))); 89 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), // TODO: 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)))); 99 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), 105 Values(1, 2, 4), 106 Values(cv::compile_args(IMGPROC_FLUID)))); 107 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), // TODO: add 5x5 once supported 112 Values(szVGA, sz720p, sz1080p), 113 Values(-1, CV_16S, CV_32F), 114 Values(0, 1), 115 Values(1, 2), 116 Values(cv::compile_args(IMGPROC_FLUID)))); 117 118 INSTANTIATE_TEST_CASE_P(SobelPerfTestFluid32F, SobelPerfTest, 119 Combine(Values(ToleranceFilter(1e-3f, 0.0).to_compare_f()), 120 Values(CV_32FC1), 121 Values(3), // TODO: add 5x5 once supported 122 Values(szVGA, sz720p, sz1080p), 123 Values(CV_32F), 124 Values(0, 1), 125 Values(1, 2), 126 Values(cv::compile_args(IMGPROC_FLUID)))); 127 128 INSTANTIATE_TEST_CASE_P(SobelXYPerfTestFluid, SobelXYPerfTest, 129 Combine(Values(AbsExact().to_compare_f()), 130 Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1), 131 Values(3), // TODO: add 5x5 once supported 132 Values(szVGA, sz720p, sz1080p), 133 Values(-1, CV_16S, CV_32F), 134 Values(1, 2), 135 Values(cv::compile_args(IMGPROC_FLUID)))); 136 137 INSTANTIATE_TEST_CASE_P(SobelXYPerfTestFluid32F, SobelXYPerfTest, 138 Combine(Values(ToleranceFilter(1e-3f, 0.0).to_compare_f()), 139 Values(CV_32FC1), 140 Values(3), // TODO: add 5x5 once supported 141 Values(szVGA, sz720p, sz1080p), 142 Values(CV_32F), 143 Values(1, 2), 144 Values(cv::compile_args(IMGPROC_FLUID)))); 145 146 INSTANTIATE_TEST_CASE_P(RGB2GrayPerfTestFluid, RGB2GrayPerfTest, 147 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 148 Values(szVGA, sz720p, sz1080p), 149 Values(cv::compile_args(IMGPROC_FLUID)))); 150 151 INSTANTIATE_TEST_CASE_P(BGR2GrayPerfTestFluid, BGR2GrayPerfTest, 152 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 153 Values(szVGA, sz720p, sz1080p), 154 Values(cv::compile_args(IMGPROC_FLUID)))); 155 156 INSTANTIATE_TEST_CASE_P(RGB2YUVPerfTestFluid, RGB2YUVPerfTest, 157 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 158 Values(szVGA, sz720p, sz1080p), 159 Values(cv::compile_args(IMGPROC_FLUID)))); 160 161 INSTANTIATE_TEST_CASE_P(YUV2RGBPerfTestFluid, YUV2RGBPerfTest, 162 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 163 Values(szVGA, sz720p, sz1080p), 164 Values(cv::compile_args(IMGPROC_FLUID)))); 165 166 INSTANTIATE_TEST_CASE_P(BGR2YUVPerfTestFluid, BGR2YUVPerfTest, 167 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 168 Values(szVGA, sz720p, sz1080p), 169 Values(cv::compile_args(IMGPROC_FLUID)))); 170 171 INSTANTIATE_TEST_CASE_P(YUV2BGRPerfTestFluid, YUV2BGRPerfTest, 172 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 173 Values(szVGA, sz720p, sz1080p), 174 Values(cv::compile_args(IMGPROC_FLUID)))); 175 176 INSTANTIATE_TEST_CASE_P(BayerGR2RGBPerfTestFluid, BayerGR2RGBPerfTest, 177 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 178 Values(szVGA, sz720p, sz1080p), 179 Values(cv::compile_args(IMGPROC_FLUID)))); 180 181 INSTANTIATE_TEST_CASE_P(RGB2YUV422PerfTestFluid, RGB2YUV422PerfTest, 182 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 183 Values(szVGA, sz720p, sz1080p), 184 Values(cv::compile_args(IMGPROC_FLUID)))); 185 186 INSTANTIATE_TEST_CASE_P(RGB2HSVPerfTestFluid, RGB2HSVPerfTest, 187 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 188 Values(szVGA, sz720p, sz1080p), 189 Values(cv::compile_args(IMGPROC_FLUID)))); 190 191 INSTANTIATE_TEST_CASE_P(BGR2LUVPerfTestFluid, BGR2LUVPerfTest, 192 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()), 193 Values(szVGA, sz720p, sz1080p), 194 Values(cv::compile_args(IMGPROC_FLUID)))); 195 196 INSTANTIATE_TEST_CASE_P(RGB2LabPerfTestFluid, RGB2LabPerfTest, 197 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()), 198 Values(szVGA, sz720p, sz1080p), 199 Values(cv::compile_args(IMGPROC_FLUID)))); 200 201 } 202