mirror of
https://github.com/opencv/opencv.git
synced 2024-12-15 18:09:11 +08:00
dbed39a931
* G-API Documentation: first submission This PR introduces a number of new OpenCV documentation chapters for Graph API module. In particular, the following topics are covered: - Introduction & background information; - High-level design overview; - Kernel API; - Pipeline example. All changes are done in Markdown files, no headers, etc modified. Doxygen references for main API classes will be added later. Also, a tutorial will be introduced soon (in the common Tutorials place) * G-API Documentation - fix warnings & trailing whitespaces * G-API Documentation: address review issues * G-API Documentation: export code snippets to compileable files * gapi: move documentation samples
35 lines
998 B
C++
35 lines
998 B
C++
#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;
|
|
}
|