Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenCV 3 OpenCL UMat绘图函数_C++_Opencv_Opencl_Opencv3.0 - Fatal编程技术网

C++ OpenCV 3 OpenCL UMat绘图函数

C++ OpenCV 3 OpenCL UMat绘图函数,c++,opencv,opencl,opencv3.0,C++,Opencv,Opencl,Opencv3.0,我正在升级到OpenCV 3,并使用UMat T_API OpenCL容器代替Mat 看起来,矩形(Mat img,…)等绘图函数没有UMat重载。我希望尽可能多地在UMat世界中工作,在框架上绘图,而不必将UMat转换回Mat进行绘图和显示 有谁能告诉我在UMat上画矩形的最有效方法吗?或者我必须转换回Mat才能绘制和显示?不幸的是,如果不从GPU内存传输数据,就无法在UMat上绘制某些内容。 可以使用以下方案绘制图形: cv::Mat draw_img = img.getMat(cv::AC

我正在升级到OpenCV 3,并使用UMat T_API OpenCL容器代替Mat

看起来,矩形(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\u WRITE)
需要同步。因此,为了获得GPU处理的最大好处,最好避免绘图操作或将其分组到一个块中