File: perf_adaptive_manifold.cpp

package info (click to toggle)
opencv 4.5.1%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 268,248 kB
  • sloc: cpp: 969,170; xml: 682,525; python: 36,732; lisp: 30,170; java: 25,155; ansic: 7,927; javascript: 5,643; objc: 2,041; sh: 935; cs: 601; perl: 494; makefile: 145
file content (49 lines) | stat: -rw-r--r-- 1,537 bytes parent folder | download | duplicates (3)
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
41
42
43
44
45
46
47
48
49
// 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<bool, Size, int, int, MatType> AMPerfTestParam;
typedef TestBaseWithParam<AMPerfTestParam> AdaptiveManifoldPerfTest;

PERF_TEST_P( AdaptiveManifoldPerfTest, perf,
    Combine(
    Values(true, false),            //adjust_outliers flag
    Values(sz1080p, sz720p),        //size
    Values(1, 3, 8),                //joint channels num
    Values(1, 3),                   //source channels num
    Values(CV_8U, CV_32F)           //source and joint depth
    )
)
{
    AMPerfTestParam params = GetParam();
    bool adjustOutliers = get<0>(params);
    Size sz             = get<1>(params);
    int jointCnNum      = get<2>(params);
    int srcCnNum        = get<3>(params);
    int depth           = get<4>(params);

    Mat joint(sz, CV_MAKE_TYPE(depth, jointCnNum));
    Mat src(sz, CV_MAKE_TYPE(depth, srcCnNum));
    Mat dst(sz, CV_MAKE_TYPE(depth, srcCnNum));

    declare.in(joint, src, WARMUP_RNG).out(dst);

    double sigma_s = 16;
    double sigma_r = 0.5;
    TEST_CYCLE_N(3)
    {
        Mat res;
        amFilter(joint, src, res, sigma_s, sigma_r, adjustOutliers);

        //at 5th cycle sigma_s will be five times more and tree depth will be 5
        sigma_s *= 1.38;
        sigma_r /= 1.38;
    }

    SANITY_CHECK_NOTHING();
}

}} // namespace