2015-12-27 22 views
5

Per ottenere cv :: UMAT da un cv :: Mat in OpenCV 3.0, si utilizza questa funzione:Qual è lo scopo di ACCESS_FAST in OpenCV 3.0?

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

la variabile accessFlags è un tipo di enumerazione che prende uno dei seguenti valori:

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

Qual è lo scopo dell'utilizzo del valore ACCESS_FAST?

risposta

3

ACCESS_FAST viene utilizzato solo in funzione allocate a use memcpy o create a temporary mat se ACCESS_FAST è non specificato. Era added to OpenCV come parte del suo supporto di memoria virtuale condivisa OpenCL.

cv::Mat::getUMat() sarà allocate un nuovo UMat e restituirla, inoltro accessFlags nell'assegnazione la nuova matrice. Se non stai costruendo OpenCV con il supporto OpenCL, allora ACCESS_FAST sembra quasi inutile.

Ho paura che sia il limite della mia conoscenza. Qualcuno più esperto di OpenCV dovrà fornire una risposta/documentazione dettagliata su esattamente a cosa è destinato lo ACCESS_FAST.