Blame view

3rdparty/opencv-4.5.4/modules/photo/perf/perf_inpaint.cpp 1.04 KB
f4334277   Hu Chunming   提交3rdparty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  #include "perf_precomp.hpp"
  
  namespace opencv_test
  {
  
  CV_ENUM(InpaintingMethod, INPAINT_NS, INPAINT_TELEA)
  typedef tuple<Size, InpaintingMethod> InpaintArea_InpaintingMethod_t;
  typedef perf::TestBaseWithParam<InpaintArea_InpaintingMethod_t> InpaintArea_InpaintingMethod;
  
  
  PERF_TEST_P(InpaintArea_InpaintingMethod, inpaint,
              testing::Combine(
                  testing::Values(::perf::szSmall24, ::perf::szSmall32, ::perf::szSmall64),
                  InpaintingMethod::all()
                  )
              )
  {
      Mat src = imread(getDataPath("gpu/hog/road.png"));
  
      Size sz = get<0>(GetParam());
      int inpaintingMethod = get<1>(GetParam());
  
      Mat mask(src.size(), CV_8UC1, Scalar(0));
      Mat result(src.size(), src.type());
  
      Rect inpaintArea(src.cols/3, src.rows/3, sz.width, sz.height);
      mask(inpaintArea).setTo(255);
  
      declare.in(src, mask).out(result).time(120);
  
      TEST_CYCLE() inpaint(src, mask, result, 10.0, inpaintingMethod);
  
      Mat inpaintedArea = result(inpaintArea);
      SANITY_CHECK(inpaintedArea);
  }
  
  } // namespace