Fix issue boostpython not stopped by Ctrl+c
[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 "PredictorWrapper.h"
9 #include <opencv2/opencv.hpp>
10
11 namespace suanzi {
12
13     TK_DECLARE_PTR(MultiTracker);
14
15     class MultiTracker 
16     {
17     public:
18         MultiTracker(MetricsPtr m);
19         virtual ~MultiTracker();
20         void update(unsigned int total, const Detection* d, const cv::Mat& image);
21
22     private:
23         MetricsPtr metrics;
24         std::vector<TrackerPtr> trackers;
25         int max_id = 0;
26         //void addTracker(TrackerPtr t);
27         //TrackerPtr createTracker(int id = 0);
28         void removeTracker(TrackerPtr t);
29         void correctTrackers(MetricsPtr m, cv::Mat& image);
30         void initNewTrackers(cv::Mat& iamge);
31         PredictorWrapperPtr predictor;
32
33     };
34
35
36 }
37
38 #endif /* _MULTI_TRACKER_H_ */