aihot  2017-05-27 10:23:20  OpenCV |   查看评论   

 OpenCV的 GPU模块是一组类和函数,利用GPU的计算能力。它使用NVIDIA * CUDA * Runtime API实现,并且仅支持NVIDIA GPU。

 
 
 
1.getCudaEnableDeviceCount:返回已安装CUDA设备的数量;
 
2. setDevice:设置adevice并为当前线程初始化它;
 
3. getDevice:返回当前设备索引设置或默认初始化;
 
4. resetDevice:在当前进程中显式地销毁和清除与当前设备相关联的所有资源;
 
5. FeatureSet:枚举提供GPU计算功能;
 
6.class :: TargetArchs:提供一组静态方法来检查GPU模块所构建的NVIDIA卡架构的类;
 
7.class :: DeviceInfo:提供查询指定GPU属性的功能的类;
 
8. DeviceInfo :: name:返回设备名称;
 
9. DeviceInfo :: majorVersion:返回主要的计算能力版本;
 
10. DeviceInfo :: minorVersion:返回次要计算能力版本;
 
11. DeviceInfo :: multiProcessorCount:返回流处理器的数量;
 
12. DeviceInfo :: freeMemory:以字节为单位返回可用内存量;
 
13. DeviceInfo :: totalMemory:以字节为单位返回总内存量;
 
14. DeviceInfo :: supports:提供有关GPU功能支持的信息;
 
15. DeviceInfo :: isCompatible:检查GPU模块和设备的兼容性;
 
16. DeviceInfo :: deviceID:返回从0开始的GPU设备的系统索引;
 
17.struct :: PtrStepSz:轻量级封装GPU上的投影存储器并传递给nvcc编译代码(CUDA内核);
 
18.struct :: PtrStep:结构类似于gpu :: PtrStepSz,但只包含一个指针和行步;
 
19. class :: GpuMat:用于GPU内存的基本存储类,具有引用计数。其界面匹配Mat界面;
 
20.createContinuous:在GPU内存中创建连续矩阵;
 
21. ensureSizeIsEnough:确保矩阵的大小足够大,并且矩阵具有适当的类型;
 
22.registerPageLocked:page-locked矩阵的内存并将其映射到设备;
 
23. unregisterPageLocked:取消映射矩阵的内存并使其可再次可页面显示;
 
24. class :: CudaMem:具有引用计数的类包装来自CUDA的特殊内存类型分配函数。它的接口也是Mat() - 但是具有额外的内存类型参数;
 
25. CudaMem :: createMatHeader:创建一个头,而不引用计数到gpu :: CudaMem数据;
 
26.CudaMem :: createGpuMatHeader:将CPU内存映射到GPU地址空间,并创建gpu :: GpuMat头,而不引用计数;
 
27. CudaMem :: canMapHostMemory:如果当前硬件支持地址空间映射和ALLOC_ZEROCOPY内存分配,则返回true;
 
28.class :: Stream:这个类封装了一个异步调用队列。一些功能使用附加的gpu :: Stream参数重载;
 
29. Stream :: queryIfComplete:如果当前流队列完成,则返回true,否则返回false;
 
30. Stream :: waitForCompletion:阻止当前CPU线程,直到流中的所有操作完成;
 
31.Stream :: enqueueDownload:将数据从设备复制到主机;
 
32.Stream :: enqueueUpload:将数据从主机复制到设备;
 
33. Stream :: enqueueCopy:将数据从设备复制到设备;
 
34. Stream :: enqueueMemSet:将设备内存初始化或设置为值;
 
35.Stream :: enqueueConvert:根据类型将矩阵类型从float转换为uchar;
 
36.Stream :: enqueueHostCallback:在流中的所有当前入队项目完成后,添加在主机上调用的回调函数;
 
37.struct :: StreamAccessor:能够从gpu :: Stream获取cuda Stream_t并在stream_accessor.hpp中声明的类,因为它是依赖于CUDA Runtime API的唯一公头;
 
38.gemm(cv :: gemm):执行广义矩阵乘法;
 
39.转置(cv :: transpose):转置矩阵;
 
40.翻转(cv :: flip):围绕垂直,水平或两个轴翻转2D矩阵;
 
41.LUT(cv :: LUT):使用给定的查找表将源矩阵转换为目标矩阵:dst(I)= lut(src(I));
 
42. merge(cv :: merge):从多个单通道矩阵中创建多通道矩阵;
 
43.split(cv :: split):将多通道矩阵的每个平面复制到数组中;
 
44.幅度(cv ::幅度):计算复矩阵元素的大小;
 
45.amplitudeSqr:计算复矩阵元素的平方;
 
46.阶段(cv :: phase):计算复杂矩阵元素的极角;
 
47.cartToPolar(cv :: cartToPolar):将笛卡尔坐标转换为极坐标;
 
48.polarToCart(cv :: polarToCart):将极坐标转换为笛卡尔坐标;
 
49.规范化(cv :: normalize):规范数组的范数或值范围;
 
50. add(cv :: add):计算矩阵矩阵或矩阵标量和;
 
51.减去(cv :: subtract):计算矩阵矩阵或矩阵标量差;
 
52.乘法(cv :: multiply):计算矩阵矩阵或矩阵标量的每元素乘积;
 
53.divide(cv :: divide):计算矩阵矩阵或矩阵标量划分;
 
54.addWeighted(cv :: addWeighted):计算两个数组的加权和;
 
55.abs(cv :: abs):计算每个矩阵元素的绝对值;
 
56.sqr:计算每个矩阵元素的平方值;
 
57.sqrt(cv :: sqrt):计算每个矩阵元素的平方根;
 
58.exp(cv :: exp):计算每个矩阵元素的指数;
 
59.log(cv :: log):计算每个矩阵元素的绝对值的自然对数;
 
60.pow(cv :: pow):将每个矩阵元素提升为幂;
 
61.absdiff(cv :: absdiff):计算两个矩阵(或矩阵和标量)的每个元素的绝对差值;
 
62.比较(cv :: compare):比较两个矩阵的元素;
 
63.bitwise_not(cv :: bitwise_not):执行每元素按位反转;
 
64.bitwise_or(cv :: bitwise_or):执行两个矩阵或矩阵和标量的每元素按位分离;
 
65.bitwise_and(cv :: bitwise_and):执行两个矩阵或矩阵和标量的每元素按位连接;
 
66.bitwise_xor(cv :: bitwise_xor):执行矩阵和标量两个矩阵的每元素按位排序或运算;
 
67.rshift:通过一个恒定的值执行图像的逐像素右移;
 
68.lshift:用图像逐像素左移一个恒定值;
 
69. min(cv :: min):计算两个矩阵(或矩阵和标量)的每个元素的最小值;
 
70.max(cv :: max):计算两个矩阵(或矩阵和标量)的每个元素最大值;
 
71. MeanShiftFiltering:对源图像的每个点执行均值偏移滤波;
 
72.meanShiftProc(gpu :: meanShiftFiltering):执行平均移位过程,并将有关处理点(其颜色和位置)的信息存储在两个图像中;
 
73. meanShiftSegmentation:执行源图像的平均移位分割,消除小段;
 
74.积分(cv ::积分):计算积分图像;
 
75. sqrIntegral:计算一个平方积分图像;
 
76. columnSum:计算一个垂直(列)和;
 
77. cornerHarris(cv :: cornerHarris):计算每个图像像素的哈里斯角度准则;
 
78. cornerMinEigenVal(cv :: cornerMinEigenVal):计算每个像素处的2 * 2导数协变矩阵的最小本征值(角度标准);
 
79. mulSpectrums(cv :: mulSpectrums):执行两个傅里叶谱的每元素乘法;
 
80.MulAndScaleSpectrums(cv :: mulSpectrums):执行两个傅立叶频谱的每元素乘法并对结果进行比例;
 
81.dft(cv :: dft):执行浮点矩阵的前向或反向离散付里叶变换(1D或2D);
 
82. struct :: ConvolveBuf:为gpu :: convolve()函数提供内存缓冲区的类,加上它可以调用一些特定的参数;
 
83. ConvolveBuf :: create:使用respecitive参数构建gpu :: convolve()函数的缓冲区;
 
84.卷积(gpu :: filter2D):计算两个图像的卷积(或互相关);
 
85. struct :: MatchTemplateBuf:为gpu :: matchTemplate()函数提供内存缓冲区的类,加上它可以调整一些具体的参数;
 
86. matchTemplate(cv :: matchTemplate):计算栅格模板和模板搜索的图像的邻近图;
 
87. remap(cv :: remap):将一般的几何变换应用于图像;
 
88. cvtColor(cv :: cvtColor):将图像从一个颜色空间转换为另一个;
 
89. swapChannels:就地交换图像的颜色通道;
 
90. threshold(cv :: threshold):对每个数组元素应用固定级别的阈值;
 
91.调整大小(cv :: resize):调整图像大小
 
92.warpAffine(cv :: warpAffine):对图像应用仿射变换;
 
93. buildWarpAffineMats(gpu :: warpAffine,gpu :: remap):构建仿射变换的转换图;
 
94. warpPerspective(cv :: warpPerspective):对图像应用透视变换;
 
95. buildWarpPerspectiveMaps(gpu :: warpPerspective,gpu :: remap):构建透视变换的转换图;
 
96.旋转(gpu :: warpAffine):围绕原点(0,0)旋转图像,然后将其移动;
 
97.copyMakeBorder(cv :: copyMakeBorder):在图像周围形成边框;
 
98. rectStdDev:计算积分图像的标准偏差;
 
99.偶数水平:计算均匀分布的水平;
 
100.histEven:计算具有均匀分布的分区的直方图;
 
101.histRange:使用由数组确定的数据块计算直方图;
 
102.calcHist:计算一个通道8位图像的直方图;
 
103.均衡Hist(cv :: equalizeHist):均衡灰度图像的直方图;
 
104.buildWarpPlaneMaps:构建平面翘曲图;
 
105.buildWapCylindricalMaps:构建圆柱形翘曲图;
 
106.buildWarpSphericalMaps:构建球面翘曲图;
 
107.pyrDown(cv :: pyrDown):平滑图像并对其进行缩减;
 
108.pyrUp(cv :: pyrUp):对图像进行上采样,然后平滑;
 
109.blendLinear:执行两个图像的线性混合;
 
110.双向筛选(cv :: bilateralFilter):对图像进行双向筛选;
 
111. nonLocalMeans(cv :: fastNlMeanDenoising):执行纯非本地手段去噪,而不需要任何简化,因此不快;
 
112.类::FastNonLocalMeansDenoising:该类实现快速近似非局部平均去噪算法;
 
113. FastNonLocalMeansDenoising :: simpleMethod(cv :: fastNlMeanDenoising):使用非局部平均去噪算法执行图像去噪;
 
114.FastNonLocalMeansDenoising :: labMethod(cv :: fastNlMeanDenoisingColored):修改FastNonLocalMeansDenoising :: simpleMethod为彩色图像;
 
115. alphaComp:使用每个图像中包含的alpha不透明度值复合两个图像;
 
116.Canny(cv :: Canny):使用Canny算法在图像中找到边;
 
117. HoughLines(cv :: HoughLines):使用经典的霍夫变换找到二进制图像中的行;
 
118.HoughLinesDownload(gpu :: HoughLines):将结果从gpu :: HoughLines下载到主机内存;
 
119.HoughCircles(cv :: HoughCircles):使用霍夫变换在灰度图像中找到圆;
 
120.HoughCirclesDownload(gpu :: HoughCircles):将结果从gpu :: HoughCircles下载到主机内存;
 
121. meanStdDev(cv :: meanStdDev):计算矩阵元素的平均值和标准偏差;
 
122. norm(cv :: norm):返回矩阵的范数(或两个矩阵的差);
 
123. sum(cv :: sum):返回矩阵元素的和;
 
124.absSum:返回矩阵元素的绝对值之和;
 
125. sqrSum:返回矩阵元素的平方和;
 
126. minMax(cv :: minMaxLoc):找到全局最小和最大矩阵元素并返回它们的值;
 
127. minMaxLoc(cv :: minMaxLoc):找到全局最小值和最大矩阵元素,并返回它们的位置值;
 
128. countNonZero(cv :: countNonZero):计数非零矩阵元素;
 
129.减少(cv :: reduce):将矩阵减少为向量;
 
130. struct :: HOGDescriptor:该类实现了定向梯度对象检测器的直方图;
 
131. HOGDescriptor :: getDescriptorSize:返回分类所需的系数数;
 
132. HOGDescriptor :: getBlockHistogramSize:返回块直方图大小;
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV中GPU模块(CUDA)函数

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]