File: perf_run_length_morphology.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 (37 lines) | stat: -rw-r--r-- 1,072 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
// 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<int, Size, int> RLParams;

typedef TestBaseWithParam<RLParams> RLMorphologyPerfTest;

PERF_TEST_P(RLMorphologyPerfTest, perf, Combine(Values(1,7, 21), Values(sz720p, sz2160p),
    Values(MORPH_ERODE, MORPH_DILATE, MORPH_OPEN, MORPH_CLOSE, MORPH_GRADIENT,MORPH_TOPHAT, MORPH_BLACKHAT)))
{
    RLParams params = GetParam();
    int seSize = get<0>(params);
    Size sz = get<1>(params);
    int op = get<2>(params);

    Mat src(sz, CV_8U);
    Mat thresholded, dstRLE;
    Mat se = rl::getStructuringElement(MORPH_ELLIPSE, cv::Size(2 * seSize + 1, 2 * seSize + 1));

    declare.in(src, WARMUP_RNG);

    TEST_CYCLE_N(4)
    {
        rl::threshold(src, thresholded, 100.0, THRESH_BINARY);
        rl::morphologyEx(thresholded, dstRLE, op, se);
    }

    SANITY_CHECK_NOTHING();
}

}
} // namespace