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_GPU cv::gapi::imgproc::gpu::kernels() 12 13 namespace opencv_test 14 { 15 16 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), 20 Values(3), 21 Values(szVGA, sz720p, sz1080p), 22 Values(-1, CV_16S, CV_32F), 23 Values(cv::compile_args(IMGPROC_GPU)))); 24 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), 28 Values(3), 29 Values(szVGA, sz720p, sz1080p), 30 Values(-1, CV_32F), 31 Values(cv::compile_args(IMGPROC_GPU)))); 32 33 34 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), 38 Values(3, 4, 5, 7), 39 Values(szVGA, sz720p, sz1080p), 40 Values(cv::BORDER_DEFAULT), 41 Values(-1, CV_32F), 42 Values(cv::compile_args(IMGPROC_GPU)))); 43 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), 47 Values(3,5), 48 Values(szVGA, sz720p, sz1080p), 49 Values(cv::BORDER_DEFAULT), 50 Values(-1, CV_32F), 51 Values(cv::compile_args(IMGPROC_GPU)))); //TODO: 8UC1 doesn't work 52 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), 56 Values(3, 5), 57 Values(szVGA, sz720p, sz1080p), 58 Values(cv::BORDER_DEFAULT), 59 Values(cv::compile_args(IMGPROC_GPU)))); 60 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), 64 Values(3, 5), 65 Values(szVGA, sz720p, sz1080p), 66 Values(cv::compile_args(IMGPROC_GPU)))); 67 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), 71 Values(3, 5), 72 Values(szVGA, sz720p, sz1080p), 73 Values(cv::compile_args(IMGPROC_GPU)))); 74 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), 78 Values(3, 5), 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)))); 84 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), 89 Values(1,2,4), 90 Values(cv::compile_args(IMGPROC_GPU)))); 91 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), 95 Values(3, 5), 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)))); 101 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), 106 Values(1,2,4), 107 Values(cv::compile_args(IMGPROC_GPU)))); 108 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), 112 Values(3, 5), 113 Values(szVGA, sz720p, sz1080p), 114 Values(-1, CV_16S, CV_32F), 115 Values(0, 1), 116 Values(1, 2), 117 Values(cv::compile_args(IMGPROC_GPU)))); 118 119 INSTANTIATE_TEST_CASE_P(SobelPerfTestGPU32F, SobelPerfTest, 120 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()), 121 Values(CV_32FC1), 122 Values(3, 5), 123 Values(szVGA, sz720p, sz1080p), 124 Values(CV_32F), 125 Values(0, 1), 126 Values(1, 2), 127 Values(cv::compile_args(IMGPROC_GPU)))); 128 129 INSTANTIATE_TEST_CASE_P(LaplacianPerfTestGPU, LaplacianPerfTest, 130 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()), 131 Values(CV_8UC1, CV_8UC3), 132 Values(5), 133 Values(szVGA, sz720p, sz1080p), 134 Values(-1), 135 Values(cv::compile_args(IMGPROC_GPU)))); 136 137 INSTANTIATE_TEST_CASE_P(BilateralFilterPerfTestGPU, BilateralFilterPerfTest, 138 Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()), 139 Values(CV_32FC1, CV_32FC3), 140 Values(-1), 141 Values(szVGA, sz720p, sz1080p), 142 Values(5), 143 Values(100), 144 Values(40), 145 Values(cv::compile_args(IMGPROC_GPU)))); 146 147 INSTANTIATE_TEST_CASE_P(CannyPerfTestGPU, CannyPerfTest, 148 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()), 149 Values(CV_8UC1, CV_8UC3), 150 Values(szVGA, sz720p, sz1080p), 151 Values(3.0, 120.0), 152 Values(125.0, 240.0), 153 Values(3, 5), 154 Values(true, false), 155 Values(cv::compile_args(IMGPROC_GPU)))); 156 157 INSTANTIATE_TEST_CASE_P(EqHistPerfTestGPU, EqHistPerfTest, 158 Combine(Values(AbsExact().to_compare_f()), // FIXIT unrealiable check 159 Values(szVGA, sz720p, sz1080p), 160 Values(cv::compile_args(IMGPROC_GPU)))); 161 162 INSTANTIATE_TEST_CASE_P(RGB2GrayPerfTestGPU, RGB2GrayPerfTest, 163 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 164 Values(szVGA, sz720p, sz1080p), 165 Values(cv::compile_args(IMGPROC_GPU)))); 166 167 INSTANTIATE_TEST_CASE_P(BGR2GrayPerfTestGPU, BGR2GrayPerfTest, 168 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 169 Values(szVGA, sz720p, sz1080p), 170 Values(cv::compile_args(IMGPROC_GPU)))); 171 172 INSTANTIATE_TEST_CASE_P(RGB2YUVPerfTestGPU, RGB2YUVPerfTest, 173 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 174 Values(szVGA, sz720p, sz1080p), 175 Values(cv::compile_args(IMGPROC_GPU)))); 176 177 INSTANTIATE_TEST_CASE_P(YUV2RGBPerfTestGPU, YUV2RGBPerfTest, 178 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 179 Values(szVGA, sz720p, sz1080p), 180 Values(cv::compile_args(IMGPROC_GPU)))); 181 182 INSTANTIATE_TEST_CASE_P(RGB2LabPerfTestGPU, RGB2LabPerfTest, 183 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()), 184 Values(szVGA, sz720p, sz1080p), 185 Values(cv::compile_args(IMGPROC_GPU)))); 186 187 INSTANTIATE_TEST_CASE_P(BGR2LUVPerfTestGPU, BGR2LUVPerfTest, 188 Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()), 189 Values(szVGA, sz720p, sz1080p), 190 Values(cv::compile_args(IMGPROC_GPU)))); 191 192 INSTANTIATE_TEST_CASE_P(LUV2BGRPerfTestGPU, LUV2BGRPerfTest, 193 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 194 Values(szVGA, sz720p, sz1080p), 195 Values(cv::compile_args(IMGPROC_GPU)))); 196 197 INSTANTIATE_TEST_CASE_P(BGR2YUVPerfTestGPU, BGR2YUVPerfTest, 198 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 199 Values(szVGA, sz720p, sz1080p), 200 Values(cv::compile_args(IMGPROC_GPU)))); 201 202 INSTANTIATE_TEST_CASE_P(YUV2BGRPerfTestGPU, YUV2BGRPerfTest, 203 Combine(Values(ToleranceColor(1e-3).to_compare_f()), 204 Values(szVGA, sz720p, sz1080p), 205 Values(cv::compile_args(IMGPROC_GPU)))); 206 207 } 208