Add libs support for linux x86_64 platform
[trackerpp.git] / include / MultiTracker.h
1 #ifndef _MULTI_TRACKER_H_
2 #define _MULTI_TRACKER_H_
3
4 #include "Tracker.h"
5 #include "Detector.h"
6 #include "Metrics.h"
7 #include "SharedPtr.h"
8 #include <opencv2/opencv.hpp>
9
10 namespace suanzi {
11
12     TK_DECLARE_PTR(MultiTracker);
13
14     class MultiTracker 
15     {
16     public:
17         MultiTracker(MetricsPtr m);
18         virtual ~MultiTracker();
19         void update(unsigned int total, const Detection* d, const cv::Mat& image);
20
21     private:
22         MetricsPtr metrics;
23         std::set<TrackerPtr> trackers;
24         int max_id = 0;
25         void addTracker(TrackerPtr t);
26         TrackerPtr createTracker(int id = 0);
27         void removeTracker(TrackerPtr t);
28         void correctTrackers(MetricsPtr m, cv::Mat& image);
29         void initNewTrackers(cv::Mat& iamge);
30     };
31
32
33 }
34
35 #endif /* _MULTI_TRACKER_H_ */