OpenCV  3.4.0
Open Source Computer Vision
Classes | Enumerations | Functions
OpenCL support

Classes

class  cv::ocl::Context
 
class  cv::ocl::Device
 
class  cv::ocl::Image2D
 
class  cv::ocl::Kernel
 
class  cv::ocl::KernelArg
 
class  cv::ocl::Platform
 
class  cv::ocl::PlatformInfo
 
class  cv::ocl::Program
 
class  cv::ocl::ProgramSource
 
class  cv::ocl::Queue
 
class  cv::ocl::Timer
 

Enumerations

enum  {
  cv::ocl::Device::TYPE_DEFAULT = (1 << 0),
  cv::ocl::Device::TYPE_CPU = (1 << 1),
  cv::ocl::Device::TYPE_GPU = (1 << 2),
  cv::ocl::Device::TYPE_ACCELERATOR = (1 << 3),
  cv::ocl::Device::TYPE_DGPU = TYPE_GPU + (1 << 16),
  cv::ocl::Device::TYPE_IGPU = TYPE_GPU + (1 << 17),
  cv::ocl::Device::TYPE_ALL = 0xFFFFFFFF
}
 
enum  {
  cv::ocl::Device::FP_DENORM =(1 << 0),
  cv::ocl::Device::FP_INF_NAN =(1 << 1),
  cv::ocl::Device::FP_ROUND_TO_NEAREST =(1 << 2),
  cv::ocl::Device::FP_ROUND_TO_ZERO =(1 << 3),
  cv::ocl::Device::FP_ROUND_TO_INF =(1 << 4),
  cv::ocl::Device::FP_FMA =(1 << 5),
  cv::ocl::Device::FP_SOFT_FLOAT =(1 << 6),
  cv::ocl::Device::FP_CORRECTLY_ROUNDED_DIVIDE_SQRT =(1 << 7)
}
 
enum  {
  cv::ocl::Device::EXEC_KERNEL =(1 << 0),
  cv::ocl::Device::EXEC_NATIVE_KERNEL =(1 << 1)
}
 
enum  {
  cv::ocl::Device::NO_CACHE =0,
  cv::ocl::Device::READ_ONLY_CACHE =1,
  cv::ocl::Device::READ_WRITE_CACHE =2
}
 
enum  {
  cv::ocl::Device::NO_LOCAL_MEM =0,
  cv::ocl::Device::LOCAL_IS_LOCAL =1,
  cv::ocl::Device::LOCAL_IS_GLOBAL =2
}
 
enum  {
  cv::ocl::Device::UNKNOWN_VENDOR =0,
  cv::ocl::Device::VENDOR_AMD =1,
  cv::ocl::Device::VENDOR_INTEL =2,
  cv::ocl::Device::VENDOR_NVIDIA =3
}
 
enum  {
  cv::ocl::KernelArg::LOCAL =1,
  cv::ocl::KernelArg::READ_ONLY =2,
  cv::ocl::KernelArg::WRITE_ONLY =4,
  cv::ocl::KernelArg::READ_WRITE =6,
  cv::ocl::KernelArg::CONSTANT =8,
  cv::ocl::KernelArg::PTR_ONLY = 16,
  cv::ocl::KernelArg::NO_SIZE =256
}
 
enum  cv::ocl::OclVectorStrategy {
  cv::ocl::OCL_VECTOR_OWN = 0,
  cv::ocl::OCL_VECTOR_MAX = 1,
  cv::ocl::OCL_VECTOR_DEFAULT = OCL_VECTOR_OWN
}
 

Functions

void cv::ocl::attachContext (const String &platformName, void *platformID, void *context, void *deviceID)
 Attaches OpenCL context to OpenCV. More...
 
void cv::ocl::buildOptionsAddMatrixDescription (String &buildOptions, const String &name, InputArray _m)
 
int cv::ocl::checkOptimalVectorWidth (const int *vectorWidths, InputArray src1, InputArray src2=noArray(), InputArray src3=noArray(), InputArray src4=noArray(), InputArray src5=noArray(), InputArray src6=noArray(), InputArray src7=noArray(), InputArray src8=noArray(), InputArray src9=noArray(), OclVectorStrategy strat=OCL_VECTOR_DEFAULT)
 
void cv::ocl::convertFromBuffer (void *cl_mem_buffer, size_t step, int rows, int cols, int type, UMat &dst)
 Convert OpenCL buffer to UMat. More...
 
void cv::ocl::convertFromImage (void *cl_mem_image, UMat &dst)
 Convert OpenCL image2d_t to UMat. More...
 
const char * cv::ocl::convertTypeStr (int sdepth, int ddepth, int cn, char *buf)
 
void cv::ocl::finish ()
 
MatAllocator * cv::ocl::getOpenCLAllocator ()
 
const char * cv::ocl::getOpenCLErrorString (int errorCode)
 
void cv::ocl::getPlatfomsInfo (std::vector< PlatformInfo > &platform_info)
 
bool cv::ocl::haveAmdBlas ()
 
bool cv::ocl::haveAmdFft ()
 
bool cv::ocl::haveOpenCL ()
 
bool cv::ocl::haveSVM ()
 
void cv::ocl::initializeContextFromHandle (Context &ctx, void *platform, void *context, void *device)
 
String cv::ocl::kernelToStr (InputArray _kernel, int ddepth=-1, const char *name=NULL)
 
const char * cv::ocl::memopTypeToStr (int t)
 
int cv::ocl::predictOptimalVectorWidth (InputArray src1, InputArray src2=noArray(), InputArray src3=noArray(), InputArray src4=noArray(), InputArray src5=noArray(), InputArray src6=noArray(), InputArray src7=noArray(), InputArray src8=noArray(), InputArray src9=noArray(), OclVectorStrategy strat=OCL_VECTOR_DEFAULT)
 
int cv::ocl::predictOptimalVectorWidthMax (InputArray src1, InputArray src2=noArray(), InputArray src3=noArray(), InputArray src4=noArray(), InputArray src5=noArray(), InputArray src6=noArray(), InputArray src7=noArray(), InputArray src8=noArray(), InputArray src9=noArray())
 
void cv::ocl::setUseOpenCL (bool flag)
 
const char * cv::ocl::typeToStr (int t)
 
bool cv::ocl::useOpenCL ()
 
const char * cv::ocl::vecopTypeToStr (int t)
 

Detailed Description

Enumeration Type Documentation

anonymous enum
Enumerator
TYPE_DEFAULT 
TYPE_CPU 
TYPE_GPU 
TYPE_ACCELERATOR 
TYPE_DGPU 
TYPE_IGPU 
TYPE_ALL 
anonymous enum
Enumerator
FP_DENORM 
FP_INF_NAN 
FP_ROUND_TO_NEAREST 
FP_ROUND_TO_ZERO 
FP_ROUND_TO_INF 
FP_FMA 
FP_SOFT_FLOAT 
FP_CORRECTLY_ROUNDED_DIVIDE_SQRT 
anonymous enum
Enumerator
EXEC_KERNEL 
EXEC_NATIVE_KERNEL 
anonymous enum
Enumerator
NO_CACHE 
READ_ONLY_CACHE 
READ_WRITE_CACHE 
anonymous enum
Enumerator
NO_LOCAL_MEM 
LOCAL_IS_LOCAL 
LOCAL_IS_GLOBAL 
anonymous enum
Enumerator
UNKNOWN_VENDOR 
VENDOR_AMD 
VENDOR_INTEL 
VENDOR_NVIDIA 
anonymous enum
Enumerator
LOCAL 
READ_ONLY 
WRITE_ONLY 
READ_WRITE 
CONSTANT 
PTR_ONLY 
NO_SIZE 
Enumerator
OCL_VECTOR_OWN 
OCL_VECTOR_MAX 
OCL_VECTOR_DEFAULT 

Function Documentation

void cv::ocl::attachContext ( const String platformName,
void *  platformID,
void *  context,
void *  deviceID 
)

Attaches OpenCL context to OpenCV.

Note
OpenCV will check if available OpenCL platform has platformName name, then assign context to OpenCV and call clRetainContext function. The deviceID device will be used as target device and new command queue will be created.
Parameters
platformNamename of OpenCL platform to attach, this string is used to check if platform is available to OpenCV at runtime
platformIDID of platform attached context was created for
contextOpenCL context to be attached to OpenCV
deviceIDID of device, must be created from attached context
void cv::ocl::buildOptionsAddMatrixDescription ( String buildOptions,
const String name,
InputArray  _m 
)
int cv::ocl::checkOptimalVectorWidth ( const int *  vectorWidths,
InputArray  src1,
InputArray  src2 = noArray(),
InputArray  src3 = noArray(),
InputArray  src4 = noArray(),
InputArray  src5 = noArray(),
InputArray  src6 = noArray(),
InputArray  src7 = noArray(),
InputArray  src8 = noArray(),
InputArray  src9 = noArray(),
OclVectorStrategy  strat = OCL_VECTOR_DEFAULT 
)
void cv::ocl::convertFromBuffer ( void *  cl_mem_buffer,
size_t  step,
int  rows,
int  cols,
int  type,
UMat dst 
)

Convert OpenCL buffer to UMat.

Note
OpenCL buffer (cl_mem_buffer) should contain 2D image data, compatible with OpenCV. Memory content is not copied from clBuffer to UMat. Instead, buffer handle assigned to UMat and clRetainMemObject is called.
Parameters
cl_mem_buffersource clBuffer handle
stepnum of bytes in single row
rowsnumber of rows
colsnumber of cols
typeOpenCV type of image
dstdestination UMat
void cv::ocl::convertFromImage ( void *  cl_mem_image,
UMat dst 
)

Convert OpenCL image2d_t to UMat.

Note
OpenCL image2d_t (cl_mem_image), should be compatible with OpenCV UMat formats. Memory content is copied from image to UMat with clEnqueueCopyImageToBuffer function.
Parameters
cl_mem_imagesource image2d_t handle
dstdestination UMat
const char* cv::ocl::convertTypeStr ( int  sdepth,
int  ddepth,
int  cn,
char *  buf 
)
void cv::ocl::finish ( )
MatAllocator* cv::ocl::getOpenCLAllocator ( )
const char* cv::ocl::getOpenCLErrorString ( int  errorCode)
void cv::ocl::getPlatfomsInfo ( std::vector< PlatformInfo > &  platform_info)
bool cv::ocl::haveAmdBlas ( )
bool cv::ocl::haveAmdFft ( )
bool cv::ocl::haveOpenCL ( )
bool cv::ocl::haveSVM ( )
void cv::ocl::initializeContextFromHandle ( Context ctx,
void *  platform,
void *  context,
void *  device 
)
String cv::ocl::kernelToStr ( InputArray  _kernel,
int  ddepth = -1,
const char *  name = NULL 
)
const char* cv::ocl::memopTypeToStr ( int  t)
int cv::ocl::predictOptimalVectorWidth ( InputArray  src1,
InputArray  src2 = noArray(),
InputArray  src3 = noArray(),
InputArray  src4 = noArray(),
InputArray  src5 = noArray(),
InputArray  src6 = noArray(),
InputArray  src7 = noArray(),
InputArray  src8 = noArray(),
InputArray  src9 = noArray(),
OclVectorStrategy  strat = OCL_VECTOR_DEFAULT 
)
int cv::ocl::predictOptimalVectorWidthMax ( InputArray  src1,
InputArray  src2 = noArray(),
InputArray  src3 = noArray(),
InputArray  src4 = noArray(),
InputArray  src5 = noArray(),
InputArray  src6 = noArray(),
InputArray  src7 = noArray(),
InputArray  src8 = noArray(),
InputArray  src9 = noArray() 
)
void cv::ocl::setUseOpenCL ( bool  flag)
Examples:
hog.cpp.
const char* cv::ocl::typeToStr ( int  t)
bool cv::ocl::useOpenCL ( )
Examples:
hog.cpp.
const char* cv::ocl::vecopTypeToStr ( int  t)