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 {
14  class Tracklet;
15  typedef std::shared_ptr<Tracklet> TrackletPtr;
16 
22  class Tracklet : public ObjectData
23  {
24  private:
29  std::vector<ObjectDataPtr> path_objects_;
30 
34  size_t last_frame_index_;
35 
36  virtual void Print(std::ostream& os) const;
37  public:
42  Tracklet();
43 
51  void AddPathObject(ObjectDataPtr obj, bool overwrite = false);
52 
57  size_t GetFirstFrameIndex() const;
58 
63  size_t GetLastFrameIndex() const;
64 
70  ObjectDataPtr GetPathObject(size_t i);
71 
76  size_t GetPathObjectCount() const;
77 
84 
85  virtual double CompareTo(ObjectDataPtr obj) const override;
86 
87  virtual ObjectDataPtr Interpolate(ObjectDataPtr obj,
88  double fraction) const override;
89 
90  virtual void Visualize(cv::Mat& image, cv::Scalar& color) const override;
91 
104  void Visualize(cv::Mat& image, cv::Scalar& color, size_t frame,
105  size_t predecessor_count, size_t successor_count) const;
106 
114  void Flatten();
115 
116  void Combine(TrackletPtr other);
117 
118  ObjectDataPtr GetFrameObject(size_t frame_index);
119  };
120 }
121 
122 
123 #endif //GBMOT_TRACKLET_H
virtual double CompareTo(ObjectDataPtr obj) const override
Definition: Tracklet.cpp:83
Definition: DetectionSequence.cpp:7
size_t GetFirstFrameIndex() const
Definition: Tracklet.cpp:27
size_t GetPathObjectCount() const
Definition: Tracklet.cpp:138
void InterpolateMissingFrames()
Definition: Tracklet.cpp:124
ObjectDataPtr GetPathObject(size_t i)
Definition: Tracklet.cpp:78
Definition: Tracklet.h:22
void Flatten()
Definition: Tracklet.cpp:143
void AddPathObject(ObjectDataPtr obj, bool overwrite=false)
Definition: Tracklet.cpp:37
size_t GetLastFrameIndex() const
Definition: Tracklet.cpp:32
Definition: ObjectData.h:25
Tracklet()
Definition: Tracklet.cpp:20
virtual void Visualize(cv::Mat &image, cv::Scalar &color) const override
Definition: Tracklet.cpp:96
virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override
Definition: Tracklet.cpp:89