要从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
的目的是什么?
答案 0 :(得分:3)
ACCESS_FAST
仅在allocate
函数中用于use memcpy
或create a temporary mat,如果ACCESS_FAST
未指定 。作为其OpenCL共享虚拟内存支持的一部分,它是added to OpenCV。
cv::Mat::getUMat()
将allocate
新UMat
并返回,在分配新矩阵时转发accessFlags
。如果您没有使用OpenCL支持构建OpenCV,那么ACCESS_FAST
似乎大多没用。
我担心这是我的知识极限。对OpenCV更有经验的人必须提供更详细的答案/文档,以确切了解ACCESS_FAST
的用途。