首页 > 解决方案 > OpenCV C++ 使用 cv::UMat 而不是 cv:Mat 和指针

问题描述

我想更改 OpenCV 中的一些代码以使用 cv::UMat 而不是 cv::Mat 在处理图像时获得 OpenCL/GPU 的额外速度。

但是我以前通过指针直接访问图像数据的方法不再起作用了,例如:

cv::Vec3b* imageP = image.ptr<cv::Vec3b>(y)

其中 image 是 cv::Mat 并且 y 是图像行偏移,因为 UMat 不存在 Ptr() 方法。

UMat 的正确语法是什么?甚至可能吗?

标签: c++opencvmat

解决方案


谢谢你。我搜索了很多,我知道没有简单的解决方案,但是在 Mat 和 UMat 之间来回复制太慢了:(


推荐阅读