X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=src%2FMultiTracker.h;h=0fd1d3a8b28d7debf012b6aef8d95d76324b5a2e;hb=2c38aedb2051562fc83dd20037e0f5271355b591;hp=28ab68507119f0f8ad5846745c6f6b6f7e32d47b;hpb=804f325c3a26e6ff253c3eb490071434da9c3b3f;p=trackerpp.git diff --git a/src/MultiTracker.h b/src/MultiTracker.h index 28ab685..0fd1d3a 100644 --- a/src/MultiTracker.h +++ b/src/MultiTracker.h @@ -2,8 +2,10 @@ #define _MULTI_TRACKER_H_ #include "Tracker.h" +#include "Detector.h" #include "Metrics.h" #include "SharedPtr.h" +#include namespace suanzi { @@ -14,15 +16,17 @@ 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 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); };