#define _MULTI_TRACKER_H_
#include "Tracker.h"
+#include "Detector.h"
#include "Metrics.h"
#include "SharedPtr.h"
+#include <opencv2/opencv.hpp>
namespace suanzi {
public:
MultiTracker(MetricsPtr m);
virtual ~MultiTracker();
- void addTracker(TrackerPtr t);
- void removeTracker(TrackerPtr t);
- TrackerPtr createTracker(int id = 0);
- void update();
-
+ 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);
};