gapi_imgproc_perf_tests_gpu.cpp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  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. #include "../perf_precomp.hpp"
  7. #include "../common/gapi_imgproc_perf_tests.hpp"
  8. #define IMGPROC_GPU cv::gapi::imgproc::gpu::kernels()
  9. namespace opencv_test
  10. {
  11. INSTANTIATE_TEST_CASE_P(SepFilterPerfTestGPU_8U, SepFilterPerfTest,
  12. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  13. Values(CV_8UC1, CV_8UC3),
  14. Values(3),
  15. Values(szVGA, sz720p, sz1080p),
  16. Values(-1, CV_16S, CV_32F),
  17. Values(cv::compile_args(IMGPROC_GPU))));
  18. INSTANTIATE_TEST_CASE_P(SepFilterPerfTestGPU_other, SepFilterPerfTest,
  19. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  20. Values(CV_16UC1, CV_16SC1, CV_32FC1),
  21. Values(3),
  22. Values(szVGA, sz720p, sz1080p),
  23. Values(-1, CV_32F),
  24. Values(cv::compile_args(IMGPROC_GPU))));
  25. INSTANTIATE_TEST_CASE_P(Filter2DPerfTestGPU, Filter2DPerfTest,
  26. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  27. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  28. Values(3, 4, 5, 7),
  29. Values(szVGA, sz720p, sz1080p),
  30. Values(cv::BORDER_DEFAULT),
  31. Values(-1, CV_32F),
  32. Values(cv::compile_args(IMGPROC_GPU))));
  33. INSTANTIATE_TEST_CASE_P(BoxFilterPerfTestGPU, BoxFilterPerfTest,
  34. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  35. Values(/*CV_8UC1,*/ CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  36. Values(3,5),
  37. Values(szVGA, sz720p, sz1080p),
  38. Values(cv::BORDER_DEFAULT),
  39. Values(-1, CV_32F),
  40. Values(cv::compile_args(IMGPROC_GPU)))); //TODO: 8UC1 doesn't work
  41. INSTANTIATE_TEST_CASE_P(BlurPerfTestGPU, BlurPerfTest,
  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, 5),
  45. Values(szVGA, sz720p, sz1080p),
  46. Values(cv::BORDER_DEFAULT),
  47. Values(cv::compile_args(IMGPROC_GPU))));
  48. INSTANTIATE_TEST_CASE_P(GaussianBlurPerfTestGPU, GaussianBlurPerfTest,
  49. Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()), //TODO: too relaxed?
  50. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  51. Values(3, 5),
  52. Values(szVGA, sz720p, sz1080p),
  53. Values(cv::compile_args(IMGPROC_GPU))));
  54. INSTANTIATE_TEST_CASE_P(MedianBlurPerfTestGPU, MedianBlurPerfTest,
  55. Combine(Values(AbsExact().to_compare_f()),
  56. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  57. Values(3, 5),
  58. Values(szVGA, sz720p, sz1080p),
  59. Values(cv::compile_args(IMGPROC_GPU))));
  60. INSTANTIATE_TEST_CASE_P(ErodePerfTestGPU, ErodePerfTest,
  61. Combine(Values(AbsExact().to_compare_f()),
  62. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  63. Values(3, 5),
  64. Values(szVGA, sz720p, sz1080p),
  65. Values(cv::MorphShapes::MORPH_RECT,
  66. cv::MorphShapes::MORPH_CROSS,
  67. cv::MorphShapes::MORPH_ELLIPSE),
  68. Values(cv::compile_args(IMGPROC_GPU))));
  69. INSTANTIATE_TEST_CASE_P(Erode3x3PerfTestGPU, Erode3x3PerfTest,
  70. Combine(Values(AbsExact().to_compare_f()),
  71. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  72. Values(szVGA, sz720p, sz1080p),
  73. Values(1,2,4),
  74. Values(cv::compile_args(IMGPROC_GPU))));
  75. INSTANTIATE_TEST_CASE_P(DilatePerfTestGPU, DilatePerfTest,
  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. INSTANTIATE_TEST_CASE_P(Dilate3x3PerfTestGPU, Dilate3x3PerfTest,
  85. Combine(Values(AbsExact().to_compare_f()),
  86. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1),
  87. Values(szVGA, sz720p, sz1080p),
  88. Values(1,2,4),
  89. Values(cv::compile_args(IMGPROC_GPU))));
  90. INSTANTIATE_TEST_CASE_P(SobelPerfTestGPU, SobelPerfTest,
  91. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  92. Values(CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1),
  93. Values(3, 5),
  94. Values(szVGA, sz720p, sz1080p),
  95. Values(-1, CV_16S, CV_32F),
  96. Values(0, 1),
  97. Values(1, 2),
  98. Values(cv::compile_args(IMGPROC_GPU))));
  99. INSTANTIATE_TEST_CASE_P(SobelPerfTestGPU32F, SobelPerfTest,
  100. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  101. Values(CV_32FC1),
  102. Values(3, 5),
  103. Values(szVGA, sz720p, sz1080p),
  104. Values(CV_32F),
  105. Values(0, 1),
  106. Values(1, 2),
  107. Values(cv::compile_args(IMGPROC_GPU))));
  108. INSTANTIATE_TEST_CASE_P(LaplacianPerfTestGPU, LaplacianPerfTest,
  109. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  110. Values(CV_8UC1, CV_8UC3),
  111. Values(5),
  112. Values(szVGA, sz720p, sz1080p),
  113. Values(-1),
  114. Values(cv::compile_args(IMGPROC_GPU))));
  115. INSTANTIATE_TEST_CASE_P(BilateralFilterPerfTestGPU, BilateralFilterPerfTest,
  116. Combine(Values(ToleranceFilter(1e-4f, 0.01).to_compare_f()),
  117. Values(CV_32FC1, CV_32FC3),
  118. Values(-1),
  119. Values(szVGA, sz720p, sz1080p),
  120. Values(5),
  121. Values(100),
  122. Values(40),
  123. Values(cv::compile_args(IMGPROC_GPU))));
  124. INSTANTIATE_TEST_CASE_P(CannyPerfTestGPU, CannyPerfTest,
  125. Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
  126. Values(CV_8UC1, CV_8UC3),
  127. Values(szVGA, sz720p, sz1080p),
  128. Values(3.0, 120.0),
  129. Values(125.0, 240.0),
  130. Values(3, 5),
  131. Values(true, false),
  132. Values(cv::compile_args(IMGPROC_GPU))));
  133. INSTANTIATE_TEST_CASE_P(EqHistPerfTestGPU, EqHistPerfTest,
  134. Combine(Values(AbsExact().to_compare_f()), // FIXIT unrealiable check
  135. Values(szVGA, sz720p, sz1080p),
  136. Values(cv::compile_args(IMGPROC_GPU))));
  137. INSTANTIATE_TEST_CASE_P(RGB2GrayPerfTestGPU, RGB2GrayPerfTest,
  138. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  139. Values(szVGA, sz720p, sz1080p),
  140. Values(cv::compile_args(IMGPROC_GPU))));
  141. INSTANTIATE_TEST_CASE_P(BGR2GrayPerfTestGPU, BGR2GrayPerfTest,
  142. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  143. Values(szVGA, sz720p, sz1080p),
  144. Values(cv::compile_args(IMGPROC_GPU))));
  145. INSTANTIATE_TEST_CASE_P(RGB2YUVPerfTestGPU, RGB2YUVPerfTest,
  146. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  147. Values(szVGA, sz720p, sz1080p),
  148. Values(cv::compile_args(IMGPROC_GPU))));
  149. INSTANTIATE_TEST_CASE_P(YUV2RGBPerfTestGPU, YUV2RGBPerfTest,
  150. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  151. Values(szVGA, sz720p, sz1080p),
  152. Values(cv::compile_args(IMGPROC_GPU))));
  153. INSTANTIATE_TEST_CASE_P(RGB2LabPerfTestGPU, RGB2LabPerfTest,
  154. Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
  155. Values(szVGA, sz720p, sz1080p),
  156. Values(cv::compile_args(IMGPROC_GPU))));
  157. INSTANTIATE_TEST_CASE_P(BGR2LUVPerfTestGPU, BGR2LUVPerfTest,
  158. Combine(Values(AbsSimilarPoints(1, 0.05).to_compare_f()),
  159. Values(szVGA, sz720p, sz1080p),
  160. Values(cv::compile_args(IMGPROC_GPU))));
  161. INSTANTIATE_TEST_CASE_P(LUV2BGRPerfTestGPU, LUV2BGRPerfTest,
  162. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  163. Values(szVGA, sz720p, sz1080p),
  164. Values(cv::compile_args(IMGPROC_GPU))));
  165. INSTANTIATE_TEST_CASE_P(BGR2YUVPerfTestGPU, BGR2YUVPerfTest,
  166. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  167. Values(szVGA, sz720p, sz1080p),
  168. Values(cv::compile_args(IMGPROC_GPU))));
  169. INSTANTIATE_TEST_CASE_P(YUV2BGRPerfTestGPU, YUV2BGRPerfTest,
  170. Combine(Values(ToleranceColor(1e-3).to_compare_f()),
  171. Values(szVGA, sz720p, sz1080p),
  172. Values(cv::compile_args(IMGPROC_GPU))));
  173. INSTANTIATE_TEST_CASE_P(ResizePerfTestGPU, ResizePerfTest,
  174. Combine(Values(AbsSimilarPoints(2, 0.05).to_compare_f()),
  175. Values(CV_8UC1, CV_16UC1, CV_16SC1),
  176. Values(cv::INTER_NEAREST, cv::INTER_LINEAR, cv::INTER_AREA),
  177. Values( szSmall128, szVGA, sz720p, sz1080p ),
  178. Values(cv::Size(64,64),
  179. cv::Size(30,30)),
  180. Values(cv::compile_args(IMGPROC_GPU))));
  181. INSTANTIATE_TEST_CASE_P(ResizeFxFyPerfTestGPU, ResizeFxFyPerfTest,
  182. Combine(Values(Tolerance_FloatRel_IntAbs(1e-5, 1).to_compare_f()),
  183. Values(CV_8UC1, CV_16UC1, CV_16SC1),
  184. Values(cv::INTER_NEAREST, cv::INTER_LINEAR, cv::INTER_AREA),
  185. Values(szSmall128, szVGA, sz720p, sz1080p),
  186. Values(0.5, 0.1),
  187. Values(0.5, 0.1),
  188. Values(cv::compile_args(IMGPROC_GPU))));
  189. }