• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #include <string>
8 #include <utility>
9 
10 namespace
11 {
12 
13 struct BoundingBox
14 {
BoundingBox__anon079db21f0111::BoundingBox15     BoundingBox()
16         : BoundingBox(0.0f, 0.0f, 0.0f, 0.0f)
17     {}
18 
BoundingBox__anon079db21f0111::BoundingBox19     BoundingBox(float xMin, float yMin, float xMax, float yMax)
20         : m_XMin(xMin)
21         , m_YMin(yMin)
22         , m_XMax(xMax)
23         , m_YMax(yMax)
24     {}
25 
26     float m_XMin;
27     float m_YMin;
28     float m_XMax;
29     float m_YMax;
30 };
31 
32 struct DetectedObject
33 {
DetectedObject__anon079db21f0111::DetectedObject34     DetectedObject(float detectedClass,
35                    const BoundingBox& boundingBox,
36                    float confidence)
37         : m_Class(detectedClass)
38         , m_BoundingBox(boundingBox)
39         , m_Confidence(confidence)
40     {}
41 
operator <__anon079db21f0111::DetectedObject42     bool operator<(const DetectedObject& other) const
43     {
44         return m_Confidence < other.m_Confidence ||
45             (m_Confidence == other.m_Confidence && m_Class < other.m_Class);
46     }
47 
48     float        m_Class;
49     BoundingBox  m_BoundingBox;
50     float        m_Confidence;
51 };
52 
53 using ObjectDetectionInput = std::pair<std::string, std::vector<DetectedObject>>;
54 
55 } // anonymous namespace