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 
97  void Visualize(cv::Mat& image, cv::Scalar& color, size_t frame,
98  size_t predecessor_count, size_t successor_count) const;
99 
107  void Flatten();
108 
114  void Combine(TrackletPtr other);
115 
122  ObjectDataPtr GetFrameObject(size_t frame_index);
123 
124  virtual double CompareTo(ObjectDataPtr obj) const override;
125  virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override;
126  virtual void Visualize(cv::Mat& image, cv::Scalar& color) const override;
127  };
128 }
129 
130 
131 #endif //GBMOT_TRACKLET_H
size_t GetFirstFrameIndex() const
Definition: Tracklet.cpp:27
virtual double CompareTo(ObjectDataPtr obj) const override
Definition: Tracklet.cpp:89
size_t GetLastFrameIndex() const
Definition: Tracklet.cpp:32
Definition: DetectionSequence.cpp:7
ObjectDataPtr GetFrameObject(size_t frame_index)
Definition: Tracklet.cpp:179
void InterpolateMissingFrames()
Definition: Tracklet.cpp:131
ObjectDataPtr GetPathObject(size_t i)
Definition: Tracklet.cpp:84
void Visualize(cv::Mat &image, cv::Scalar &color, size_t frame, size_t predecessor_count, size_t successor_count) const
Definition: Tracklet.cpp:110
size_t GetPathObjectCount() const
Definition: Tracklet.cpp:145
Definition: Tracklet.h:22
void Flatten()
Definition: Tracklet.cpp:150
void AddPathObject(ObjectDataPtr obj, bool overwrite=false)
Definition: Tracklet.cpp:37
void Combine(TrackletPtr other)
Definition: Tracklet.cpp:171
Definition: ObjectData.h:24
Tracklet()
Definition: Tracklet.cpp:20
virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override
Definition: Tracklet.cpp:95