mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-02-15 03:35:55 +00:00
96 lines
1.9 KiB
C++
96 lines
1.9 KiB
C++
//
|
|
// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
//
|
|
|
|
#pragma once
|
|
|
|
#include "BoundingBox.hpp"
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace od
|
|
{
|
|
/**
|
|
* An object detection network inference result decoded data representation.
|
|
*/
|
|
class DetectedObject
|
|
{
|
|
|
|
public:
|
|
DetectedObject();
|
|
|
|
/**
|
|
* Creates detection with given parameters.
|
|
*
|
|
* @param id - class id
|
|
* @param label - human readable text class label
|
|
* @param boundingBox - rectangular detection coordinates
|
|
* @param score - detection score/probability
|
|
*/
|
|
DetectedObject(unsigned int id,
|
|
std::string label,
|
|
const BoundingBox& boundingBox,
|
|
float score);
|
|
|
|
~DetectedObject() = default;
|
|
|
|
/**
|
|
* Get class id
|
|
* @return id
|
|
*/
|
|
unsigned int GetId() const;
|
|
|
|
/**
|
|
* Get human readable text class label
|
|
* @return label
|
|
*/
|
|
const std::string& GetLabel() const;
|
|
|
|
/**
|
|
* Get rectangular detection coordinates
|
|
* @return detection coordinates
|
|
*/
|
|
const BoundingBox& GetBoundingBox() const;
|
|
|
|
/**
|
|
* Get detection score
|
|
* @return score
|
|
*/
|
|
float GetScore() const;
|
|
|
|
/**
|
|
* Set class id
|
|
* @param[in] id - class id
|
|
*/
|
|
void SetId(unsigned int id);
|
|
|
|
/**
|
|
* Set class label
|
|
* @param[in] label - human readable text class label
|
|
*/
|
|
void SetLabel(const std::string& label);
|
|
|
|
/**
|
|
* Set detection coordinates
|
|
* @param[in] boundingBox detection coordinates
|
|
*/
|
|
void SetBoundingBox(const BoundingBox& boundingBox);
|
|
|
|
/**
|
|
* Set detection score
|
|
* @param[in] score - detection score
|
|
*/
|
|
void SetScore(float score);
|
|
|
|
private:
|
|
unsigned int m_Id;
|
|
std::string m_Label;
|
|
BoundingBox m_BoundingBox;
|
|
float m_Score;
|
|
};
|
|
|
|
using DetectedObjects = std::vector<DetectedObject>;
|
|
|
|
}// namespace od
|