From f52040f0bf2cacc736ae666a3969cd99c73d828a Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Wed, 23 May 2018 15:43:51 +0000
Subject: [PATCH] Classifier uses C++ OpenCV cv::VideoCapture that hasn't bugs.

---
 src/classifier.c |   43 ++++++++++++++++++++++++++++---------------
 1 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/src/classifier.c b/src/classifier.c
index e45f5a1..c84dcb2 100644
--- a/src/classifier.c
+++ b/src/classifier.c
@@ -21,6 +21,8 @@
 #include "opencv2/videoio/videoio_c.h"
 #endif
 image get_image_from_stream(CvCapture *cap);
+image get_image_from_stream_cpp(CvCapture *cap);
+#include "http_stream.h"
 #endif
 
 float *get_regression_values(char **labels, int n)
@@ -860,11 +862,14 @@
     srand(2222222);
     CvCapture * cap;
 
-    if(filename){
-        cap = cvCaptureFromFile(filename);
-    }else{
-        cap = cvCaptureFromCAM(cam_index);
-    }
+	if (filename) {
+		//cap = cvCaptureFromFile(filename);
+		cap = get_capture_video_stream(filename);
+	}
+	else {
+		//cap = cvCaptureFromCAM(cam_index);
+		cap = get_capture_webcam(filename);
+	}
 
     int top = option_find_int(options, "top", 1);
 
@@ -886,7 +891,8 @@
         struct timeval tval_before, tval_after, tval_result;
         gettimeofday(&tval_before, NULL);
 
-        image in = get_image_from_stream(cap);
+		//image in = get_image_from_stream(cap);
+        image in = get_image_from_stream_cpp(cap);
         if(!in.data) break;
         image in_s = resize_image(in, net.w, net.h);
 
@@ -992,11 +998,14 @@
     srand(2222222);
     CvCapture * cap;
 
-    if(filename){
-        cap = cvCaptureFromFile(filename);
-    }else{
-        cap = cvCaptureFromCAM(cam_index);
-    }
+	if (filename) {
+		//cap = cvCaptureFromFile(filename);
+		cap = get_capture_video_stream(filename);
+	}
+	else {
+		//cap = cvCaptureFromCAM(cam_index);
+		cap = get_capture_webcam(filename);
+	}
 
     int top = option_find_int(options, "top", 1);
 
@@ -1015,7 +1024,8 @@
         struct timeval tval_before, tval_after, tval_result;
         gettimeofday(&tval_before, NULL);
 
-        image in = get_image_from_stream(cap);
+		//image in = get_image_from_stream(cap);
+        image in = get_image_from_stream_cpp(cap);
         image in_s = resize_image(in, net.w, net.h);
         show_image(in, "Threat Detection");
 
@@ -1070,9 +1080,11 @@
     CvCapture * cap;
 
     if(filename){
-        cap = cvCaptureFromFile(filename);
+        //cap = cvCaptureFromFile(filename);
+		cap = get_capture_video_stream(filename);
     }else{
-        cap = cvCaptureFromCAM(cam_index);
+        //cap = cvCaptureFromCAM(cam_index);
+		cap = get_capture_webcam(filename);
     }
 
     int top = option_find_int(options, "top", 1);
@@ -1092,7 +1104,8 @@
         struct timeval tval_before, tval_after, tval_result;
         gettimeofday(&tval_before, NULL);
 
-        image in = get_image_from_stream(cap);
+		//image in = get_image_from_stream(cap);
+        image in = get_image_from_stream_cpp(cap);
         image in_s = resize_image(in, net.w, net.h);
         show_image(in, "Classifier");
 

--
Gitblit v1.10.0