#include // cv::FONT*, cv::LINE*, cv::FILLED #include // imwrite #include #include int main(int argc, char *argv[]) { if (argc < 2) { std::cerr << "Filename required" << std::endl; return 1; } const auto font = cv::FONT_HERSHEY_DUPLEX; const auto blue = cv::Scalar{ 255, 0, 0}; // B/G/R const auto green = cv::Scalar{ 0, 255, 0}; const auto coral = cv::Scalar{0x81,0x81,0xF1}; const auto white = cv::Scalar{ 255, 255, 255}; cv::Mat test(cv::Size(480, 160), CV_8UC3, white); namespace draw = cv::gapi::wip::draw; std::vector prims; prims.emplace_back(draw::Circle{ // CIRCLE primitive {400,72}, // Position (a cv::Point) 32, // Radius coral, // Color cv::FILLED, // Thickness/fill type cv::LINE_8, // Line type 0 // Shift }); prims.emplace_back(draw::Text{ // TEXT primitive "Hello from G-API!", // Text {64,96}, // Position (a cv::Point) font, // Font 1.0, // Scale (size) blue, // Color 2, // Thickness cv::LINE_8, // Line type false // Bottom left origin flag }); prims.emplace_back(draw::Rect{ // RECTANGLE primitive {16,48,400,72}, // Geometry (a cv::Rect) green, // Color 2, // Thickness cv::LINE_8, // Line type 0 // Shift }); prims.emplace_back(draw::Mosaic{ // MOSAIC primitive {320,96,128,32}, // Geometry (a cv::Rect) 16, // Cell size 0 // Decimation }); draw::render(test, prims); cv::imwrite(argv[1], test); return 0; }