Ocean
Loading...
Searching...
No Matches
TestAlignmentPatternDetector.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8#pragma once
9
11
12namespace Ocean
13{
14
15namespace Test
16{
17
18namespace TestCV
19{
20
21namespace TestDetector
22{
23
24namespace TestQRCodes
25{
26
27/**
28 * This class implements tests for the alignment pattern detector
29 * @ingroup testcvdetectorqrcodes
30 */
31class OCEAN_TEST_CV_DETECTOR_QRCODES_EXPORT TestAlignmentPatternDetector
32{
33 public:
34
35 /**
36 * Tests the functions of the alignment pattern detector.
37 * @param testDuration Number of seconds for each test, with range (0, infinity)
38 * @return True, if succeeded
39 */
40 static bool test(const double testDuration);
41
42 /**
43 * Test for the detection of alignment patterns using synthetic test data
44 * @param gaussianFilterSize Size of a Gaussian filter that is applied to the synthesized data; no filter is applied for the value 0, range: [0, infinity), must be an odd value
45 * @param testDuration Number of seconds for each test, with range (0, infinity)
46 * @return True, if succeeded
47 */
48 static bool testDetectAlignmentPatternsSyntheticData(const unsigned int gaussianFilterSize, const double testDuration);
49
50 protected:
51
52 /**
53 * Draws a single (synthetic) alignment pattern
54 * @param yFrame The 8-bit grayscale image that the alignment pattern will be drawn into, must be valid and the origin in the upper left corner
55 * @param location The location in the input image where the alignment pattern will be draw
56 * @param patternSizeInPixels The side length of the alignment pattern in pixels with which it will be drawn, range: [5, infinity)
57 * @param rotation The angle in radian by which the alignment pattern will be rotated, range: [0, PI/2]
58 * @param foregroundColor The pixel value that will be used for foreground elements, range: [0, 255]
59 * @param backgroundColor The pixel value that will be used for background elements, range: [0, 255]
60 */
61 static void drawAlignmentPattern(Frame& yFrame, const Vector2& location, const Scalar patternSizeInPixels, const Scalar rotation, const uint8_t foregroundColor, const uint8_t backgroundColor);
62};
63
64} // namespace TestQRCodes
65
66} // namespace TestDetector
67
68} // namespace TestCV
69
70} // namespace Test
71
72} // namepace Test
This class implements Ocean's image class.
Definition Frame.h:1808
This class implements tests for the alignment pattern detector.
Definition TestAlignmentPatternDetector.h:32
static bool test(const double testDuration)
Tests the functions of the alignment pattern detector.
static void drawAlignmentPattern(Frame &yFrame, const Vector2 &location, const Scalar patternSizeInPixels, const Scalar rotation, const uint8_t foregroundColor, const uint8_t backgroundColor)
Draws a single (synthetic) alignment pattern.
static bool testDetectAlignmentPatternsSyntheticData(const unsigned int gaussianFilterSize, const double testDuration)
Test for the detection of alignment patterns using synthetic test data.
float Scalar
Definition of a scalar type.
Definition Math.h:129
The namespace covering the entire Ocean framework.
Definition Accessor.h:15