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
的确切用途。
要从 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
的确切用途。