projects
/
trackerpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add reader
[trackerpp.git]
/
src
/
Engine.cpp
diff --git
a/src/Engine.cpp
b/src/Engine.cpp
index
7b00ce6
..
e51dd65
100644
(file)
--- a/
src/Engine.cpp
+++ b/
src/Engine.cpp
@@
-1,6
+1,7
@@
+#include <mutex>
+#include <thread>
#include "Engine.h"
#include "Logger.h"
#include "Engine.h"
#include "Logger.h"
-#include <mutex>
using namespace suanzi;
using namespace suanzi;
@@
-11,6
+12,8
@@
static Engine* g_instance = nullptr;
Engine::Engine()
{
Engine::Engine()
{
+ detector = new Detector();
+ tracker = new Tracker();
}
Engine* Engine::create()
}
Engine* Engine::create()
@@
-31,21
+34,35
@@
void Engine::destroy()
}
Engine::~Engine()
}
Engine::~Engine()
-{
+{
+ delete detector;
+ delete tracker;
}
void Engine::setVideoSrc(const std::string& url)
{
videoSrc = url;
}
void Engine::setVideoSrc(const std::string& url)
{
videoSrc = url;
+ reader = VideoReaderFactory::createVideoReader(VideoSrcType::URL,"rtsp://192.168.1.75:554/stream1");
+}
+
+void Engine::run()
+{
+ LOG_DEBUG(TAG, "run");
+ cv::Mat frame;
+ while (reader->read(frame)){
+ detector->detect(frame);
+ }
}
void Engine::start()
{
LOG_DEBUG(TAG, "start");
}
void Engine::start()
{
LOG_DEBUG(TAG, "start");
- Person p;
- for(auto& o: observer_list){
-
o->onPersonIn(p)
;
+ if (!reader){
+ LOG_ERROR(TAG, "reader is null. exit");
+
return
;
}
}
+ std::thread t(&Engine::run, this);
+ t.join();
}
void Engine::addObserver(EngineObserver *observer)
}
void Engine::addObserver(EngineObserver *observer)