ACCESS_FAST在OpenCV 3.0中的用途是什么?

Pro*_*s08 5 c++ opencv opencv3.0

要从OpenCV 3.0中的cv :: Mat获取cv :: UMat,请使用此函数:

UMat cv::Mat::getUMat(int accessFlags, UMatUsageFlags usageFlags=USAGE_DEFAULT )
Run Code Online (Sandbox Code Playgroud)

变量accessFlags是枚举类型,它采用以下值之一:

enum { ACCESS_READ=1<<24, ACCESS_WRITE=1<<25,
    ACCESS_RW=3<<24, ACCESS_MASK=ACCESS_RW, ACCESS_FAST=1<<26 };
Run Code Online (Sandbox Code Playgroud)

使用该值的目的是什么ACCESS_FAST?

Cor*_*lks 5

ACCESS_FAST如果未指定,仅在allocate函数中使用memcpy或创建临时垫。它被添加到 OpenCV作为其 OpenCL 共享虚拟内存支持的一部分。ACCESS_FAST

cv::Mat::getUMat()将allocate一个新的UMat并返回它,accessFlags在分配新矩阵时转发。如果您不构建支持 OpenCL 的 OpenCV,那么ACCESS_FAST看起来几乎毫无用处。

恐怕这是我知识的极限。对 OpenCV 更有经验的人将必须提供更详细的答案/文档来准确说明其ACCESS_FAST用途。