OpenCV 3.0 中 ACCESS_FAST 的用途是什么?

What is the purpose of ACCESS_FAST in OpenCV 3.0?

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

UMat cv::Mat::getUMat(int accessFlags, UMatUsageFlags usageFlags=USAGE_DEFAULT )

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

enum { ACCESS_READ=1<<24, ACCESS_WRITE=1<<25,
    ACCESS_RW=3<<24, ACCESS_MASK=ACCESS_RW, ACCESS_FAST=1<<26 };

使用值 ACCESS_FAST 的目的是什么?

ACCESS_FAST 仅在 allocate function to use memcpy or create a temporary mat if ACCESS_FAST is not specified. It was added to OpenCV 中用作其 OpenCL 共享虚拟内存支持的一部分。

cv::Mat::getUMat()allocate 一个新的 UMat 和 return 它,在分配新矩阵时转发 accessFlags。如果您没有构建支持 OpenCL 的 OpenCV,那么 ACCESS_FAST 似乎几乎没用。

恐怕这是我知识的限制。对 OpenCV 更有经验的人将不得不提供更详细的 answer/documentation 关于 ACCESS_FAST 的确切用途。