c87f465d101bf7f9f9e9562541bbb5d6b973c132
[trackerpp.git] / src / Tracker.h
1 #ifndef _TRACKER_H_
2 #define _TRACKER_H_
3
4 #include <opencv2/opencv.hpp>
5 #include <string>
6 #include <vector>
7 #include "Metrics.h"
8
9 namespace suanzi {
10
11 typedef enum 
12 {
13     Fire = -1,
14     Active = 2,
15     Lost,
16     Delete
17 } TrackerStatus;
18
19 class Tracker
20 {
21 public:
22     Tracker(int id);
23     virtual ~Tracker();
24     void updateState(const cv::Mat& image);
25     void addPatch(Patch* p);
26
27 private:
28     TrackerStatus status;
29     TrackerStatus preStatus;
30     int id;
31     int age;
32     int last_active;
33     std::vector<Patch *> patches;
34 };
35
36
37 }
38
39 #endif /* _TRACKER_H_ */