Blame view

3rdparty/opencv-4.5.4/modules/gapi/samples/api_example.cpp 998 Bytes
f4334277   Hu Chunming   提交3rdparty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  #include <opencv2/videoio.hpp>
  #include <opencv2/highgui.hpp>
  #include <opencv2/gapi.hpp>
  #include <opencv2/gapi/core.hpp>
  #include <opencv2/gapi/imgproc.hpp>
  
  int main(int argc, char *argv[])
  {
      cv::VideoCapture cap;
      if (argc > 1) cap.open(argv[1]);
      else cap.open(0);
      CV_Assert(cap.isOpened());
  
      cv::GMat in;
      cv::GMat vga      = cv::gapi::resize(in, cv::Size(), 0.5, 0.5);
      cv::GMat gray     = cv::gapi::BGR2Gray(vga);
      cv::GMat blurred  = cv::gapi::blur(gray, cv::Size(5,5));
      cv::GMat edges    = cv::gapi::Canny(blurred, 32, 128, 3);
      cv::GMat b,g,r;
      std::tie(b,g,r)   = cv::gapi::split3(vga);
      cv::GMat out      = cv::gapi::merge3(b, g | edges, r);
      cv::GComputation ac(in, out);
  
      cv::Mat input_frame;
      cv::Mat output_frame;
      CV_Assert(cap.read(input_frame));
      do
      {
          ac.apply(input_frame, output_frame);
          cv::imshow("output", output_frame);
      } while (cap.read(input_frame) && cv::waitKey(30) < 0);
  
      return 0;
  }