OpenCV C++ 使用 cv::UMat 而不是 cv:Mat 和指针
OpenCV C++ using cv::UMat instead of cv:Mat and pointers
我想更改 OpenCV 中的一些代码以使用 cv::UMat 而不是 cv::Mat 以在处理图像时使用 OpenCL/GPU 获得额外的速度。
但是我以前直接通过指针访问图像数据的方法已经不起作用了,例如:
cv::Vec3b* imageP = image.ptr<cv::Vec3b>(y)
其中图像是 cv::Mat,y 是图像行偏移量,因为 UMat 不存在 Ptr() 方法。
UMat 的正确语法是什么?有可能吗?
谢谢。
我搜索了很多,我知道没有简单的解决方案,但是在 Mat 和 UMat 之间来回复制太慢了:(
我想更改 OpenCV 中的一些代码以使用 cv::UMat 而不是 cv::Mat 以在处理图像时使用 OpenCL/GPU 获得额外的速度。
但是我以前直接通过指针访问图像数据的方法已经不起作用了,例如:
cv::Vec3b* imageP = image.ptr<cv::Vec3b>(y)
其中图像是 cv::Mat,y 是图像行偏移量,因为 UMat 不存在 Ptr() 方法。
UMat 的正确语法是什么?有可能吗?
谢谢。 我搜索了很多,我知道没有简单的解决方案,但是在 Mat 和 UMat 之间来回复制太慢了:(