AlexeyAB
2018-06-01 ba70801e982ada241ced55bedad2a411da1896c4
src/http_stream.cpp
@@ -44,6 +44,12 @@
using std::endl;
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/imgproc/imgproc_c.h"
#ifndef CV_VERSION_EPOCH
#include "opencv2/videoio/videoio.hpp"
#endif
using namespace cv;
#include "http_stream.h"
@@ -196,6 +202,18 @@
}
// ----------------------------------------
CvCapture* get_capture_video_stream(char *path) {
   CvCapture* cap = NULL;
   try {
      cap = (CvCapture*)new cv::VideoCapture(path);
   }
   catch (...) {
      std::cout << " Error: video-stream " << path << " can't be opened! \n";
   }
   return cap;
}
// ----------------------------------------
CvCapture* get_capture_webcam(int index) {
   CvCapture* cap = NULL;
   try {
@@ -215,14 +233,18 @@
   try {
      cv::VideoCapture &cpp_cap = *(cv::VideoCapture *)cap;
      cv::Mat frame;
      if (cpp_cap.isOpened()) {
      if (cpp_cap.isOpened())
      {
         cpp_cap >> frame;
         src = cvCreateImageHeader(cvSize(frame.cols, frame.rows), 8, frame.channels());
         *src = frame;
         IplImage tmp = frame;
         src = cvCloneImage(&tmp);
      }
      else {
         std::cout << " Video-stream stoped! \n";
      }
   }
   catch (...) {
      std::cout << " Web-camera stoped! \n";
      std::cout << " Video-stream stoped! \n";
   }
   return src;
}
@@ -261,19 +283,26 @@
   // HSV augmentation
   // CV_BGR2HSV, CV_RGB2HSV, CV_HSV2BGR, CV_HSV2RGB
   cv::Mat hsv_src;
   cvtColor(sized, hsv_src, CV_BGR2HSV);  // also BGR -> RGB
   if (ipl->nChannels >= 3)
   {
      cv::Mat hsv_src;
      cvtColor(sized, hsv_src, CV_BGR2HSV);  // also BGR -> RGB
   
   std::vector<cv::Mat> hsv;
   cv::split(hsv_src, hsv);
      std::vector<cv::Mat> hsv;
      cv::split(hsv_src, hsv);
   hsv[1] *= dsat;
   hsv[2] *= dexp;
   hsv[0] += 179 * dhue;
      hsv[1] *= dsat;
      hsv[2] *= dexp;
      hsv[0] += 179 * dhue;
   cv::merge(hsv, hsv_src);
      cv::merge(hsv, hsv_src);
   cvtColor(hsv_src, sized, CV_HSV2RGB);  // now RGB instead of BGR
      cvtColor(hsv_src, sized, CV_HSV2RGB);  // now RGB instead of BGR
   }
   else
   {
      sized *= dexp;
   }
   // Mat -> IplImage -> image
   IplImage src = sized;
@@ -283,4 +312,4 @@
}
#endif   // OPENCV
#endif   // OPENCV