Tracore
ObjectData.h
1 //
2 // Created by wrede on 19.04.16.
3 //
4 
5 #ifndef GBMOT_OBJECTDATA_H
6 #define GBMOT_OBJECTDATA_H
7 
8 
9 #include <string>
10 #include <unordered_map>
11 #include <iostream>
12 #include <opencv2/core/core.hpp>
13 #include <memory>
14 
15 namespace core
16 {
17  class ObjectData;
18  typedef std::shared_ptr<ObjectData> ObjectDataPtr;
19 
24  class ObjectData
25  {
26  private:
27  static const std::string CONSTRAINT_FRAME_DIFFERENCE;
28  static const std::string CONSTRAINT_SCORE_DIFFERENCE;
29 
33  const bool is_virtual_;
34 
38  std::size_t frame_index_;
39 
44  double detection_score_;
45 
50  virtual void Print(std::ostream& os) const;
51  public:
55  ObjectData();
56 
61  ObjectData(std::size_t frame_index);
62 
67  std::size_t GetFrameIndex() const;
68 
73  void SetFrameIndex(size_t index);
74 
79  void SetDetectionScore(double score);
80 
85  double GetDetectionScore() const;
86 
91  bool IsVirtual() const;
92 
98  virtual double CompareTo(ObjectDataPtr obj) const;
99 
107  virtual bool IsWithinConstraints(ObjectDataPtr obj,
108  std::unordered_map<std::string, double> & constraints)
109  const;
110 
120  virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const;
121 
129  virtual void Visualize(cv::Mat& image, cv::Scalar& color) const;
130 
138  friend std::ostream& operator<<(std::ostream& os, const ObjectData& obj);
139 
146  virtual std::string ToString(char delimiter) const;
147  };
148 }
149 
150 
151 #endif //GBMOT_OBJECTDATA_H
friend std::ostream & operator<<(std::ostream &os, const ObjectData &obj)
Definition: ObjectData.cpp:93
virtual double CompareTo(ObjectDataPtr obj) const
Definition: ObjectData.cpp:48
double GetDetectionScore() const
Definition: ObjectData.cpp:114
Definition: DetectionSequence.cpp:7
virtual void Visualize(cv::Mat &image, cv::Scalar &color) const
Definition: ObjectData.cpp:104
virtual bool IsWithinConstraints(ObjectDataPtr obj, std::unordered_map< std::string, double > &constraints) const
Definition: ObjectData.cpp:54
bool IsVirtual() const
Definition: ObjectData.cpp:31
virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const
Definition: ObjectData.cpp:85
void SetFrameIndex(size_t index)
Definition: ObjectData.cpp:99
Definition: ObjectData.h:24
virtual std::string ToString(char delimiter) const
Definition: ObjectData.cpp:119
std::size_t GetFrameIndex() const
Definition: ObjectData.cpp:26
ObjectData()
Definition: ObjectData.cpp:14
void SetDetectionScore(double score)
Definition: ObjectData.cpp:109