Add hungarian file
[trackerpp.git] / src / MultiTracker.cpp
index 2206af3..8df378f 100644 (file)
@@ -1,38 +1,75 @@
 #include "MultiTracker.h"
 #include "Metrics.h"
+#include <algorithm>
 
 using namespace suanzi;
+using namespace cv;
 
-MultiTracker::MultiTracker(Metrics* m) : metrics(m)
+MultiTracker::MultiTracker(MetricsPtr m) : metrics(m)
 {
 }
 
 
 MultiTracker::~MultiTracker()
 {
-    delete metrics;
     trackers.clear();
 }
 
-Tracker* MultiTracker::createTracker(int id)
+TrackerPtr MultiTracker::createTracker(int id)
 {
-    Tracker* t = new Tracker(id);
+    TrackerPtr t (new Tracker(id));
     addTracker(t);
     return t;
 }
 
-void MultiTracker::addTracker(Tracker* t)
+void MultiTracker::addTracker(TrackerPtr t)
 {
     trackers.insert(t);
 }
 
-void MultiTracker::removeTracker(Tracker *t)
+void MultiTracker::removeTracker(TrackerPtr t)
 {
     trackers.erase(t);
 }
 
+void MultiTracker::initNewTrackers(cv::Mat& iamge)
+{
+}
+
 
-void MultiTracker::update()
+void MultiTracker::correctTrackers(MetricsPtr m, Mat& image)
 {
+}
+
+
+void MultiTracker::update(unsigned int total, const Detection* d, const Mat& image)
+{
+
+    // correct_trackers
+
+
+    //
+
+
+
+
+
+
+
+
+    // Delete long lost trackers;
+//    for (auto& t : trackers){
+//        if (t->status == TrackerStatus::Delete)
+//            trackers.erase(t);
+//    }
+//
+    // Update trackers using kalman filter
+//    for(auto& t: trackers){
+//        //t.bb_ltrb = 
+//    }
+//
+    // associate trackers with detections
+//    correctTrackers(this->metric, image);
 
+    // create new trackers for new detections
 }