From 101de2b07aa2feefa74f7e73876fd5cc8fc696cf Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Tue, 20 Mar 2018 21:40:01 +0000
Subject: [PATCH] More stable web-cam

---
 src/http_stream.cpp |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/src/http_stream.cpp b/src/http_stream.cpp
index 394ea32..ca57728 100644
--- a/src/http_stream.cpp
+++ b/src/http_stream.cpp
@@ -195,4 +195,36 @@
 	std::cout << " MJPEG-stream sent. \n";
 }
 
+
+CvCapture* get_capture_webcam(int index) {
+	CvCapture* cap = NULL;
+	try {
+		cap = (CvCapture*)new cv::VideoCapture(index);
+		//((cv::VideoCapture*)cap)->set(CV_CAP_PROP_FRAME_WIDTH, 1280);
+		//((cv::VideoCapture*)cap)->set(CV_CAP_PROP_FRAME_HEIGHT, 960);
+	}
+	catch (...) {
+		std::cout << " Error: Web-camera " << index << " can't be opened! \n";
+	}
+	return cap;
+}
+
+IplImage* get_webcam_frame(CvCapture *cap) {
+	IplImage* src = NULL;
+	try {
+		cv::VideoCapture &cpp_cap = *(cv::VideoCapture *)cap;
+		cv::Mat frame;
+		if (cpp_cap.isOpened()) {
+			cpp_cap >> frame;
+			src = cvCreateImage(cvSize(frame.cols, frame.rows), 8, frame.channels());
+			*src = frame;
+		}
+	}
+	catch (...) {
+		std::cout << " Web-camera stoped! \n";
+	}
+	return src;
+}
+
+
 #endif	// OPENCV
\ No newline at end of file

--
Gitblit v1.10.0