OpenCL 支持 核心功能


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

枚举

enum cv::ocl::OclVectorStrategy {
cv::ocl::OCL_VECTOR_OWN = 0,
cv::ocl::OCL_VECTOR_MAX = 1,
cv::ocl::OCL_VECTOR_DEFAULT = OCL_VECTOR_OWN
}

函数

void cv::ocl::attachContext (const 字符串 &platformName, void *platformID, void *context, void *deviceID)
把 OpenCL 上下文附加到 OpenCV。 更多...
void cv::ocl::buildOptionsAddMatrixDescription ( 字符串 &buildOptions, const 字符串 &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)
把 OpenCL 缓冲转换成 UMat . 更多...
void cv::ocl::convertFromImage (void *cl_mem_image, UMat &dst)
Convert OpenCL image2d_t to 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)
字符串 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)

详细描述

枚举类型文档编制

OclVectorStrategy

#include < opencv2/core/ocl.hpp >

枚举器
OCL_VECTOR_OWN
Python: cv.ocl.OCL_VECTOR_OWN
OCL_VECTOR_MAX
Python: cv.ocl.OCL_VECTOR_MAX
OCL_VECTOR_DEFAULT
Python: cv.ocl.OCL_VECTOR_DEFAULT

函数文档编制

attachContext()

void cv::ocl::attachContext ( const 字符串 & platformName ,
void * platformID ,
void * context ,
void * deviceID
)

#include < opencv2/core/ocl.hpp >

把 OpenCL 上下文附加到 OpenCV。

注意
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.
参数
platformName name of OpenCL platform to attach, this string is used to check if platform is available to OpenCV at runtime
platformID ID of platform attached context was created for
context OpenCL context to be attached to OpenCV
deviceID ID of device, must be created from attached context

buildOptionsAddMatrixDescription()

void cv::ocl::buildOptionsAddMatrixDescription ( 字符串 & buildOptions ,
const 字符串 & name ,
InputArray _m
)

checkOptimalVectorWidth()

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
)

convertFromBuffer()

void cv::ocl::convertFromBuffer ( void * cl_mem_buffer ,
size_t step ,
int rows ,
int cols ,
int type ,
UMat & dst
)

#include < opencv2/core/ocl.hpp >

把 OpenCL 缓冲转换成 UMat .

注意
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 被调用。
参数
cl_mem_buffer source clBuffer handle
step num of bytes in single row
rows number of rows
cols number of cols
type OpenCV type of image
dst destination UMat

convertFromImage()

void cv::ocl::convertFromImage ( void * cl_mem_image ,
UMat & dst
)

#include < opencv2/core/ocl.hpp >

Convert OpenCL image2d_t to UMat .

注意
OpenCL image2d_t (cl_mem_image), should be compatible with OpenCV UMat formats. Memory content is copied from image to UMat with clEnqueueCopyImageToBuffer 函数。
参数
cl_mem_image source image2d_t handle
dst destination UMat

convertTypeStr()

const char* cv::ocl::convertTypeStr ( int sdepth ,
int ddepth ,
int cn ,
char * buf
)

finish()

void cv::ocl::finish ( )
Python:
None = cv.ocl.finish( )

getOpenCLAllocator()

MatAllocator * cv::ocl::getOpenCLAllocator ( )

getOpenCLErrorString()

const char* cv::ocl::getOpenCLErrorString ( int errorCode )

getPlatfomsInfo()

void cv::ocl::getPlatfomsInfo ( std::vector< PlatformInfo > & platform_info )

haveAmdBlas()

bool cv::ocl::haveAmdBlas ( )
Python:
retval = cv.ocl.haveAmdBlas( )

haveAmdFft()

bool cv::ocl::haveAmdFft ( )
Python:
retval = cv.ocl.haveAmdFft( )

haveOpenCL()

bool cv::ocl::haveOpenCL ( )
Python:
retval = cv.ocl.haveOpenCL( )

haveSVM()

bool cv::ocl::haveSVM ( )

initializeContextFromHandle()

void cv::ocl::initializeContextFromHandle ( Context & ctx ,
void * platform ,
void * context ,
void * device
)

kernelToStr()

字符串 cv::ocl::kernelToStr ( InputArray _kernel ,
int ddepth = -1 ,
const char * name = NULL
)

memopTypeToStr()

const char* cv::ocl::memopTypeToStr ( int t )

predictOptimalVectorWidth()

predictOptimalVectorWidthMax()

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 ()
)

setUseOpenCL()

void cv::ocl::setUseOpenCL ( bool flag )
Python:
None = cv.ocl.setUseOpenCL( flag )

typeToStr()

const char* cv::ocl::typeToStr ( int t )

useOpenCL()

bool cv::ocl::useOpenCL ( )
Python:
retval = cv.ocl.useOpenCL( )

vecopTypeToStr()

const char* cv::ocl::vecopTypeToStr ( int t )