`
jgsj
  • 浏览: 960858 次
文章分类
社区版块
存档分类
最新评论

OpenCV中OpenCL模块函数

 
阅读更多

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-454.zip

    13. OpenCV中的图计算模块G-API,也进行了大量更新。 14. 另外FLANN模块也被改进,新增了机器人手眼校准函数等。 由以上内容可知,OpenCV 4.5 版本没有特别重大的更新,大多是在修补、完善、优化,因为 5.0版本快要...

    OCL_SDK_Light_AMD.exe

    OpenCV的OpenCL模块(以下称OCL)。这里我说移植而不是开发,是因为大部分OCL模块的函数都是从已经很成熟的GPU模块移植过来的。于是目前阶段OCL模块所支持的函数接口只是GPU模块的一个子集。在使用AMD AMF开发时,...

    基于OpenCV深度学习神经网络人脸模块(OpenCV DNN Face)的实时人脸识别程序.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于python3或html,使用opencv模块实现拍照录像并保存的功能.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于OpenCV图像识别的2D斯诺克桌球辅助瞄准器.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于c++的Opencv实现KCF跟踪算法(未使用官方函数).zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于opencv tenserflow2.0实战CNN人脸识别锁定与解锁win10屏幕.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于opencv的PCB检测,功能包括色环电阻定位和阻值分析,电容定位与极性判断.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于OpenCV快速筛选IOS相册中相似的图片.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于OPENCV和tesseract的中文扫描票据OCR识别。.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    Android平台Camera基于freetype和opencv实现预览拍照支持中文水印.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    opencv 数字图像处理.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于OpenCV手写数字识别系统.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于opencv的4种YOLO目标检测,C++和Python两个版本的实现,仅仅只依赖opencv库就可以运行.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于OpenCV的视频流处理.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于Opencv的车道线检测.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于OpenCV的自动追踪摄像头.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于opencv C++ QT版音乐播放器.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于opencv dlib的疲劳驾驶检测系统.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

    基于Dlib和OpenCV的人脸活体检测.zip

    高效性能:OpenCV代码经过高度优化,能够利用多核CPU、GPU以及特定硬件加速(如Intel IPP、OpenCL等),实现高速图像处理和实时计算机视觉应用。 多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API...

Global site tag (gtag.js) - Google Analytics