upgrade opencv to 3.3.1, complete patch similarity
[trackerpp.git] / src / Engine.cpp
index 49a17da..74659a0 100644 (file)
@@ -2,10 +2,11 @@
 #include <thread>
 #include "Engine.h"
 #include "Logger.h"
+#include "PredictorWrapper.h"
 
 using namespace suanzi;
 
-const static std::string TAG = "Engine";
+static const std::string TAG = "Engine";
 
 static std::mutex g_mutex;
 static EngineWPtr g_instance;
@@ -27,22 +28,26 @@ EnginePtr Engine::create()
 Engine::Engine()
 {
     detector = std::make_shared<Detector>();
-    MetricsPtr m (new Metrics("model.pkl"));
-    multiTracker = std::make_shared<MultiTracker>(m);
+    multiTracker = std::make_shared<MultiTracker>();
 }
 
 Engine::~Engine()
 {    
+    destroy();
 }
 
 void Engine::destroy()
 {
+    LOG_DEBUG(TAG, "destroy");
+    detector.reset();
+    multiTracker.reset();
+    reader.reset();
+    observer_list.clear();
 }
 
 
 void Engine::setVideoSrc(VideoSrcType type, const std::string& url)
 {
-//    videoSrc = url;
     reader = VideoReaderFactory::createVideoReader(type, url);
 }
 
@@ -53,7 +58,6 @@ void Engine::run()
     Detection detections[128];
     while (reader->read(frame)){
         LOG_DEBUG(TAG, "Size: " << frame.cols  <<  "x" << frame.rows);
-        // TODO
         int total = detector->detect(frame, detections);
         multiTracker->update(total, detections, frame);
     }