Blame view

3rdparty/opencv-4.5.4/modules/video/perf/perf_variational_refinement.cpp 1.16 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
38
39
40
  // This file is part of OpenCV project.
  // It is subject to the license terms in the LICENSE file found in the top-level directory
  // of this distribution and at http://opencv.org/license.html.
  #include "perf_precomp.hpp"
  
  namespace opencv_test { namespace {
  
  typedef tuple<Size, int, int> VarRefParams;
  typedef TestBaseWithParam<VarRefParams> DenseOpticalFlow_VariationalRefinement;
  
  PERF_TEST_P(DenseOpticalFlow_VariationalRefinement, perf, Combine(Values(szQVGA, szVGA), Values(5, 10), Values(5, 10)))
  {
      VarRefParams params = GetParam();
      Size sz = get<0>(params);
      int sorIter = get<1>(params);
      int fixedPointIter = get<2>(params);
  
      Mat frame1(sz, CV_8U);
      Mat frame2(sz, CV_8U);
      Mat flow(sz, CV_32FC2);
  
      randu(frame1, 0, 255);
      randu(frame2, 0, 255);
      flow.setTo(0.0f);
  
      TEST_CYCLE_N(10)
      {
          Ptr<VariationalRefinement> var = VariationalRefinement::create();
          var->setAlpha(20.0f);
          var->setGamma(10.0f);
          var->setDelta(5.0f);
          var->setSorIterations(sorIter);
          var->setFixedPointIterations(fixedPointIter);
          var->calc(frame1, frame2, flow);
      }
  
      SANITY_CHECK_NOTHING();
  }
  
  }} // namespace