mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
998 B
34 lines
998 B
#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; |
|
}
|
|
|