// // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "BoundingBox.hpp" #include #include 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; }// namespace od