It currently develop and test on GPU devices only. This includes both discrete GPUs(NVidia,AMD), as well as integrated chips(AMD APU and intel HD devices).

The ocl module can be found under the “modules”directory. In “modules/ocl/src” you can find the source code for the cpp class that wrap around the direct kernel invocation. The kernels themselves can be found in “modules/ocl/src/kernels.” Samples can be found under “samples/ocl.”Accuracy tests can be found in “modules/ocl/test,”and performance tests under “module/ocl/perf.”

If a function support 4-channel operator, it should support 3-channel operator as well, because All the 3-channel matrix(i.e. RGB image) are represented by 4-channel matrix in oclMat. It means 3-channel image have 4-channel space with the last channel unused.

1.      getDevice:returns the list of devices;

2.      setDevice:sets adevice and initializes it;

3.      setBinpath:if you call this function and set a valid path, the OCL module will save the complied kernel to the address in the first time and reload the binary since that, it can save compilation time at the runtime;

4.      getoclContext:returns the pointer to the opencl context;

5.      getoclCommandQueue:returns the pointer to the opencl command queue;

6.      class::oclMat:OpenCV C++1-D or 2-D dense array class, the oclMat is the mirror of Mat with the extension of ocl feature;

7.      oclMat::convertTo:the method converts source pixel values to the target datatype, saturate cast is applied in the end to avoid possible overflows;

8.      oclMat::copyTo:copies the matrix to another one;

9.      oclMat::setTo:sets all or some of the array elements to the specified value;

10.  absdiff:computes per-element absolute difference between two arrays or between array and ascalar;

11.  add:computes per-element addition between two arrays or between array and a scalar;

12.  subtract:computes per-element subtract between two arrays or between array and a scalar;

13.  multiply:computes per-element multiply between two arrays or between array and a scalar;

14.  divide:computes per-element divide between two arrays or between array and a scalar;

15.  bitwise_and:computesper-element bitwise_and between two arrays or between array and a scalar;

16.  bitwise_or:computes per-element bitwise_or between two arrays or between array and a scalar;

17.  bitwise_xor:computes per-element bitwise_xor between two arrays or between array and a scalar;

18.  bitwise_not:the function bitwise not compute per-element bit-wise inversion of the source array;

19.  cartToPolar:calculates the magnitude and angle of 2d vectors;

20.  polarToCart:calculates the Cartesian coordinates of each 2D vector represented by the correspondingelements of magnitude and angle;

21.  compare:performs per-element comparison of two arrays or an array and scalar value;

22.  exp:calculates the exponent of every element of the input array;

23.  log:calculates the log of every element of the input array;

24.  LUT:performs a look-up table transform of an array;

25.  magnitude:calculates magnitude of 2D vectors formed from the corresponding element of x and y arrays;

26.  flip:flips the array in one of three different ways(row and column indices are 0-based);

27.  meanStdDev:compute the mean and the standard deviation M of array elements, independently for eachchannel, and return it via the output parameters;

28.  merge:composes a multi-channel array from several single-channel arrays;

29.  split:split multi-channel array into separate single-channel arrays;

30.  norm:calculates absolute array norm, absolute difference norm, or relative difference norm;

31.  phase:computes the rotation angle of each 2D vector that is formed from the corresponding elementsof x and y;

32.  pow:raises every element of the input array to p;

33.  transpose:transposes a matrix;

34.  dft(cv::dft):performs a forward or inverse discrete Fourier transform(1D or 2D) of the floating pointmatrix;

35.  gemm(cv::gemm):performs generalized matrix multiplication;

36.  countNonZero:returns the number of non-zero elements in src;

37.  minMax:finds global minimum and maximum in a whole array or sub-array;

38.  minMaxLoc:find minimum and maximum element values and their positions;

39.  sum:returns the sum of matrix elements for each channel;

40.  sqrSum:returns the squared sum of matrix elements for each channel;

41.  Sobel:computesthe first x- or y- spatial image derivative using Sobel operator;

42.  Scharr:computes the first x- or y- spatial image derivative using Scharr operator;

43.  GaussianBlur:convolves the source image with the specified Gaussian kernel;

44.  boxFilter:smoothes image using box filter;

45.  Laplacian:calculates the Laplacian of the source image by adding up the second x and y derivativescalculated using the Sobel operator;

46.  convolue:convolves an image with the kernel;

47.  bilateralFilter:applies bilateral filter to the image;

48.  copyMakeBorder:forms a border around the image;

49.  dilate:dilatesthe source image using the specified structuring element that determines theshape of a pixel neighborhood over which the maximum is taken;

50.  erode:erodes the source image using the specified structuring element that determines the shapeof a pixel neighborhood over which the minimum is taken;

51.  morphologyEx:a wrapper for erode and dilate;

52.  pyrDown(cv::pyrDown):smoothes an image and downsamples it;

53.  pyrUp(cv::pyrUp):upsamples an image and then smoothes it;

54.  columnSum:computes a vertical(column) sum;

55.  blendLinear:performs linear blending of two images;

56.  cornerHarris:calculate Harris corner;

57.  cornerMinEigenVal:calculate MinEigenVal;

58.  calcHist:calculates histogram of one or more arrays;

59.  remap:transforms the source image using the specified map;

60.  resize:resizes an image;

61.  warpAffine: transforms the source image using the specified matrix;

62.  warpPerspective:applies a perspective transformation to an image;

63.  cvtColor:converts image from one color space to another;

64.  threshold:applies fixed-level thresholding to a single-channel array;

65.  buildWarpPlaneMaps:builds plane warping maps;

66.  buildWarpCylindricalMaps:builds cylindrical warping maps;

67.  buildWarpSphericalMaps:builds spherical warping maps;

68.  buildWarpPerspectiveMaps(ocl::warpPerspective):builds transformation maps for perspective transformation;

69.  buildWarpAffineMaps(ocl::warpAffine):builds transformation maps for affine transformation;

70.  class::PyrLKOpticalFlow(cv::calcOpticalFlowPyrLK):class used for calculating an optical flow;

71.  PyrLKOpticalFlow::sparse:calculate an optical flow for a sparse feature set;

72.  PyrLKOpticalFlow::dense:calculate dense optical flow;

73.  PyrLKOpticalFlow::releaseMemory:releases inner buffers memory;

74.  interpolateFrames:interpolateframes(images) using provided optical flow(displacement field);

75.  class::OclCascadeClassifier:cascade classifier class used for object detection;

76.  OclCascadeClassifier::oclHaarDetectObjects:returns the detected objects by a list rectangles;

77.  struct::MatchTemplateBuf:class providing memory buffers for matchTemplate function, plus it allows to adjustsome specific parameters;

78.  matchTemplate(cv::matchTemplate):computes aproximity map for a raster template and an image where the template is searchedfor;

79.  Canny(cv::Canny):finds edgesin an image using the Canny algorithm;

80.  class::BruteForceMatcher_OCL_base(cv::DescriptorMatcher,cv::BFMatcher):Brute-force descriptor matcher, for each descriptor in the firstset, this matcher finds the closest descriptor in the second set by trying eachone;

81.  BruteForceMatcher_OCL_base::match:finds the best match for each descriptor from a query set with traindescriptors;

82.  BruteForceMatcher_OCL_base::makeGpuCollection:performs a GPU collection of traindescriptors and masks in a suitable format for the matchCollection function;

83.  BruteForceMatcher_OCL_base::matchDownload:downloads matrices obtained viamatchSingle or matchCollection to vector with DMatch;

84.  BruteForceMatcher_OCL_base::matchConvert:converts matrices obtained viamatchSingle or matchCollection to vector with DMatch;

85.  BruteForceMatcher_OCL_base::knnMatch:finds the k best matches for eachdescriptor from a query set with train descriptors;

86.  BruteForceMatcher_OCL_base::knnMatchDownload:downloads matrices obtained viaknnMatchSingle or knnMatch2Collection to vector with DMatch;

87.  BruteForceMatcher_OCL_base::knnMatchConvert:converts matrices obtained viaknnMatchSingle or knnMatch2Collection to CPU vector with DMatch;

88.  BruteForceMatcher_OCL_base::radiusMatch:for each query descriptor, finds thebest matches with a distance less than a given threshold;

89.  BruteForceMatcher_OCL_base::radiusMatchDownload:downloads matrices obtained viaradiusMatchSingle or radiusMatchCollection to vector with DMatch;

90.  BruteForceMatcher_OCL_base::radiusMatchConvert:converts matrices obtained viaradiusMatchSingle or radiusMatchCollection to vector with DMatch;

91.  struct::HOGDescriptor:the class implements Histogram ofOriented Gradients object detector;

92.  HOGDescriptor::getDescriptorSize:returns the number of coefficientsrequired for the classification;

93.  HOGDescriptor::getBlockHistogramSize:returns the block histogram size;

94.  HOGDescriptor::setSVMDetector:sets coefficients for the linear SVMclassifier;

95.  HOGDescriptor::getDefaultPeopleDetector:returns coefficients of the classifiertrained for people detection(for default window size);

96.  HOGDescriptor::getPeopleDetector48x96:returns coefficients of the classifiertrained for people detection(for 48x96 windows);

97.  HOGDescriptor::getPeopleDetector64x128:returns coefficients of the classifiertrained for people detection(for 64x128 windows);

98.  HOGDescriptor::detect:performs object detection without amulti-scale window;

99.  HOGDescriptor::detectMultiScale:performs object detection with amulti-scale window;

100.  HOGDescriptor::getDescriptors:returns block descriptors computed forthe whole image;

OpenCV中OpenCL模块函数的更多相关文章

  1. 【OpenCV】OpenCV中GPU模块使用

    CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核 ...

  2. 【OpenCV】OpenCV中GPU模块使用 (转)

    CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核 ...

  3. OpenCV中GPU模块使用

    CUDA IT168的文章系列: Cuda的初始化:http://tech.it168.com/a2011/0715/1218/000001218458.shtml OpenCV: OpenCV中GP ...

  4. 【计算机视觉】【并行计算与CUDA开发】OpenCV中GPU模块使用

    CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核 ...

  5. OpenCV中的绘图函数-OpenCV步步精深

    OpenCV 中的绘图函数 画线 首先要为画的线创造出环境,就要生成一个空的黑底图像 img=np.zeros((512,512,3), np.uint8) 这是黑色的底,我们的画布,我把窗口名叫做i ...

  6. 【计算机视觉】OpenCV中直方图处理函数简述

    计算直方图calcHist 直方图是对数据集合的统计 ,并将统计结果分布于一系列提前定义的bins中.这里的数据不只指的是灰度值 ,统计数据可能是不论什么能有效描写叙述图像的特征. 如果有一个矩阵包括 ...

  7. Python中functools模块函数解析

    Python自带的 functools 模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数.换言之,就是能使用该模块对可调用对象进行处理. functools模块函数概览 functool ...

  8. 【源码阅读】opencv中opencl版本的dft函数的实现细节

    1.函数声明 opencv-3.4.3\modules\core\include\opencv2\core.hpp:2157 CV_EXPORTS_W void dft(InputArray src, ...

  9. OpenCV中的新函数connectedComponentsWithStats使用

    主要内容:对比新旧函数,用于过滤原始图像中轮廓分析后较小的区域,留下较大区域. 关键字    :connectedComponentsWithStats 在以前,常用的方法是"是先调用 cv ...

随机推荐

  1. Java-20个非常有用的程序片段

    下面是20个非常有用的Java程序片段,希望能对你有用. 1.字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric string ...

  2. 迁移/home目录至新硬盘分区总结--无备份情况下

    搞了一天,终于成功迁移.由于一开始就没备份过程实在很曲折. 希望本篇对那些没有备份习惯的朋友们有所帮助. 准备工作: sudo vim /etc/fstab 在文件中加入: /dev/sdb8     ...

  3. libthrift0.9.0解析(三)之TProtocol&TTransport

       以上是transport和protocol的类图和结构图. transport封装了底层的传输通道,主要有read/write.open/close等基本的读写方法,而且都是对于二进制数据. p ...

  4. 单点登录CAS使用记(七):关于服务器超时以及客户端超时的分析

    我的预想情况 一般情况下,当用户登录一个站点后,如果长时间没有发生任何动作,当用户再次点击时,会被强制登出并且跳转到登录页面, 提醒用户重新登录.现在我已经为站点整合了CAS,并且已经实现了单点登录以 ...

  5. [转]链接分析算法之:主题敏感PageRank

    原文引自:http://blog.csdn.net/hguisu/article/details/8005192,感谢 前面的讨论提到.PageRank忽略了主题相关性,导致结果的相关性和主题性降低, ...

  6. Java中实现线程的方法

    Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用? 第一种:继承Thread类 new Thread(){}.start();这表示调 ...

  7. 关于@font-face的一些问题

    @font-face 能够加载服务器端的字体文件,让客户端显示客户端所没有安装的字体.[微软的IE 5已经是开始支持这个属性,但是只支持微软自有的.eot (Embedded Open Type) 格 ...

  8. javaWeb图片验证码代码

    1. [代码]初始粗糙代码 import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.a ...

  9. [SQL注入3]from_sqli_to_shell_II

    [SQL注入1]这关学习盲注 ,这篇还有些东西没理透,后面搞明白了再修改. http://www.pentesterlab.com/exercises/from_sqli_to_shell_II/ 准 ...

  10. 转:Durandal快速入门

    Durandal是一个轻量级的JavaScript框架,其目标是单页面应用(SPAs)的开发变得简单而优雅.它支持MVC.MVP和MVVM等模式,因此不论你采用哪种类型的前端架构,Durandal都能 ...