-#ifndef _MULTI_TRACKER_H_
-#define _MULTI_TRACKER_H_
-
-#include "Tracker.h"
-#include "Detector.h"
-#include "Metrics.h"
-#include "SharedPtr.h"
-#include <opencv2/opencv.hpp>
-
-namespace suanzi {
-
- TK_DECLARE_PTR(MultiTracker);
-
- class MultiTracker
- {
- public:
- MultiTracker(MetricsPtr m);
- virtual ~MultiTracker();
- void update(unsigned int total, const Detection* d, const cv::Mat& image);
-
- private:
- MetricsPtr metrics;
- std::set<TrackerPtr> trackers;
- int max_id = 0;
- void addTracker(TrackerPtr t);
- TrackerPtr createTracker(int id = 0);
- void removeTracker(TrackerPtr t);
- void correctTrackers(MetricsPtr m, cv::Mat& image);
- void initNewTrackers(cv::Mat& iamge);
- };
-
-
-}
-
-#endif /* _MULTI_TRACKER_H_ */