C++ OpenCV 3 OpenCL UMat绘图函数
我正在升级到OpenCV 3,并使用UMat T_API OpenCL容器代替Mat 看起来,矩形(Mat img,…)等绘图函数没有UMat重载。我希望尽可能多地在UMat世界中工作,在框架上绘图,而不必将UMat转换回Mat进行绘图和显示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
有谁能告诉我在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处理的最大好处,最好避免绘图操作或将其分组到一个块中