用於圖中繪製的函式。 更多...
用於圖中繪製的函式。
- 注意
- 這是一個正在進行中的功能,API 在未來的版本中可能會發生變化。
G-API 可以使用通用操作和一組 渲染圖元 進行一些圖中繪製。與傳統的 OpenCV 不同,在 G-API 中,使用者需要形成一個要繪製的圖元渲染列表。此列表可以手動構建或在圖表中生成。此列表被傳遞給 特殊操作或函式,其中所有圖元都被解釋並應用於影像。
例如,在一個複雜的流水線中,檢測到的物件列表可以在圖表中轉換為 cv::gapi::wip::draw::Rect 圖元的列表,以突出顯示帶有邊界框的物件,或者檢測到的人臉列表可以在圖表中轉換為 cv::gapi::wip::draw::Mosaic 圖元的列表,以隱藏敏感內容或保護隱私。
與任何其他操作一樣,G-API 中的渲染可以透過不同的後端重新實現。目前只有基於 OpenCV 的後端可用。
除了圖表級操作之外,還有常規(即時)類似 OpenCV 的函式可用 – 請參閱 cv::gapi::wip::draw::render()。這些函式只是常規 G-API 的包裝器,並動態構建渲染圖,因此將編譯引數作為引數。
目前,此 API 更偏向於機器,而不是以人為本。主要目的是將一組特定領域的物件轉換為要繪製的圖元列表。例如,為了生成如下所示的圖片
需要按如下方式生成渲染列表
int main(
int argc,
char *argv[])
{
if (argc < 2) {
std::cerr << "需要檔名" << std::endl;
return 1;
}
std::vector<draw::Prim> prims;
prims.emplace_back(draw::Circle{
{400,72},
32,
coral,
0
});
prims.emplace_back(draw::Text{
"Hello from G-API!",
{64,96},
font,
1.0,
blue,
2,
false
});
prims.emplace_back(draw::Rect{
{16,48,400,72},
green,
2,
0
});
prims.emplace_back(draw::Mosaic{
{320,96,128,32},
16,
0
});
draw::render(test, prims);
return 0;
}
用於指定影像或矩形大小的模板類。
Definition types.hpp:335
CV_EXPORTS_W bool imwrite(const String &filename, InputArray img, const std::vector< int > ¶ms=std::vector< int >())
將影像儲存到指定檔案。
@ FONT_HERSHEY_DUPLEX
正常大小的無襯線字型(比 FONT_HERSHEY_SIMPLEX 更復雜)
定義 imgproc.hpp:905
@ LINE_8
8 連線線
Definition imgproc.hpp:895
@ FILLED
定義 imgproc.hpp:893
int main(int argc, char *argv[])
定義 highgui_qt.cpp:3