From aeb15b3cb9157f5d0b2a9962e17de22560b8a1b2 Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Sun, 07 Jan 2018 22:47:50 +0000
Subject: [PATCH] Detection and Tracking work well

---
 src/yolo_console_dll.cpp |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/yolo_console_dll.cpp b/src/yolo_console_dll.cpp
index abf4bdc..3f22eb5 100644
--- a/src/yolo_console_dll.cpp
+++ b/src/yolo_console_dll.cpp
@@ -11,10 +11,10 @@
 
 #ifdef _WIN32
 #define OPENCV
-#include "windows.h"
+//#include "windows.h"
 #endif
 
-#define TRACK_OPTFLOW
+//#define TRACK_OPTFLOW
 
 #include "yolo_v2_class.hpp"	// imported functions from DLL
 
@@ -102,6 +102,7 @@
 	bool const save_output_videofile = false;
 #ifdef TRACK_OPTFLOW
 	Tracker_optflow tracker_flow;
+	detector.wait_stream = true;
 #endif
 
 	while (true) 
@@ -185,17 +186,15 @@
 							auto current_image = det_image;
 							consumed = true;
 							while (current_image.use_count() > 0) {
-								//std::vector<bbox_t> result;
 								auto result = detector.detect_resized(*current_image, frame_size, 0.24, false);	// true
-								//Sleep(200);
-								//Sleep(50);
 								++fps_det_counter;
 								std::unique_lock<std::mutex> lock(mtx);
 								thread_result_vec = result;
 								current_image = det_image;
 								consumed = true;
 								cv_detected.notify_all();
-								while (consumed) cv_pre_tracked.wait(lock);
+								if(detector.wait_stream)
+									while (consumed) cv_pre_tracked.wait(lock);
 							}
 						});
 					}
@@ -216,7 +215,7 @@
 						result_vec = tracker_flow.tracking_flow(cur_frame, result_vec);	// track optical flow
 #endif
 
-						draw_boxes(cur_frame, result_vec, obj_names, 3, current_det_fps, current_cap_fps);
+						draw_boxes(cur_frame, result_vec, obj_names, 3, current_det_fps, current_cap_fps);	// 3 or 16ms
 						//show_console_result(result_vec, obj_names);
 
 						if (output_video.isOpened() && videowrite_ready) {

--
Gitblit v1.10.0