Tracore
Tracklet.h
1 //
2 // Created by wrede on 25.04.16.
3 //
4 
5 #ifndef GBMOT_TRACKLET_H
6 #define GBMOT_TRACKLET_H
7 
8 #include <cstdlib>
9 #include <vector>
10 #include "ObjectData.h"
11 
12 namespace core
13 {
19  class Tracklet : public ObjectData
20  {
21  private:
26  std::vector<ObjectDataPtr> path_objects_;
27 
31  size_t last_frame_index_;
32 
33  virtual void Print(std::ostream& os) const;
34  public:
39  Tracklet();
40 
48  void AddPathObject(ObjectDataPtr obj, bool overwrite = false);
49 
54  size_t GetFirstFrameIndex() const;
55 
60  size_t GetLastFrameIndex() const;
61 
67  ObjectDataPtr GetPathObject(size_t i);
68 
73  size_t GetPathObjectCount() const;
74 
81 
82  virtual double CompareTo(ObjectDataPtr obj) const override;
83 
84  virtual ObjectDataPtr Interpolate(ObjectDataPtr obj,
85  double fraction) const override;
86 
87  virtual void Visualize(cv::Mat& image, cv::Scalar& color) const override;
88 
101  void Visualize(cv::Mat& image, cv::Scalar& color, size_t frame,
102  size_t predecessor_count, size_t successor_count) const;
103 
111  void Flatten();
112  };
113 }
114 
115 
116 #endif //GBMOT_TRACKLET_H
size_t GetFirstFrameIndex() const
Definition: Tracklet.cpp:27
virtual double CompareTo(ObjectDataPtr obj) const override
Definition: Tracklet.cpp:81
size_t GetLastFrameIndex() const
Definition: Tracklet.cpp:32
Definition: Definitions.h:11
void InterpolateMissingFrames()
Definition: Tracklet.cpp:122
ObjectDataPtr GetPathObject(size_t i)
Definition: Tracklet.cpp:76
size_t GetPathObjectCount() const
Definition: Tracklet.cpp:137
Definition: Tracklet.h:19
void Flatten()
Definition: Tracklet.cpp:142
void AddPathObject(ObjectDataPtr obj, bool overwrite=false)
Definition: Tracklet.cpp:37
Definition: ObjectData.h:22
Tracklet()
Definition: Tracklet.cpp:20
virtual void Visualize(cv::Mat &image, cv::Scalar &color) const override
Definition: Tracklet.cpp:94
virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override
Definition: Tracklet.cpp:87