gpt4 book ai didi

c++ - OpenCV 3 OpenCL UMat 绘图函数

转载 作者:太空狗 更新时间:2023-10-29 23:14:21 25 4
gpt4 key购买 nike

我正在升级到 OpenCV 3 并使用 UMat T_API OpenCL 容器而不是 Mat。

似乎像 rectangle(Mat img, ...) 这样的绘图函数没有 UMat 重载。我想尽可能多地在 UMat 世界中工作,以便在框架上绘图,而不必将 UMat 转换回 Mat 进行绘图和显示。

谁能给我在 UMat 上绘制矩形的最有效方法?还是我必须转换回 Mat 才能绘制和显示?

最佳答案

不幸的是,如果不从 GPU 内存传输数据,就无法在 UMat 上绘图。您可以使用以下方案进行绘图:

cv::Mat draw_img = img.getMat(cv::ACCESS_WRITE);
cv::rectangle(draw_img, ...);
draw_img.release();

请注意 getMat(cv::ACCESS_WRITE) 需要同步。因此,为了获得 GPU 处理的最大 yield ,最好避免绘图操作或将其分组为一个 block 。

关于c++ - OpenCV 3 OpenCL UMat 绘图函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34004467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com