由于项目需要,翻译了一部分可以用于我现在项目的opencv函数,记录于此,原始英文文档来自于http://blog.csdn.net/mtt_sky/article/details/42607839。
getCudaEnableDeviceCount:返回已安装CUDA设备的数量;
2. setDevice:设置adevice并为当前线程初始化它;
3. getDevice:返回当前设备索引设置或默认初始化;
4. resetDevice:在当前进程中显式地销毁和清除与当前设备相关联的所有资源;
5. FeatureSet:枚举提供GPU计算功能;
class :: TargetArchs:提供一组静态方法的类,以检查GPU模块构建的NVIDIA卡架构;
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设备的系统索引;
struct :: PtrStepSz:轻量级封装GPU上的投影存储器并传递给nvcc编译代码(CUDA内核);
struct :: PtrStep:结构类似于gpu :: PtrStepSz,但只包含一个指针和行步;
19. class :: GpuMat:用于GPU内存的基本存储类,具有引用计数。其接口匹配Mat界面;
createContinuous:在GPU内存中创建连续矩阵;
21. ensureSizeIsEnough:确保矩阵的大小足够大,矩阵具有适当的类型;
registerPageLocked:page-locked矩阵的内存并将其映射到设备;
23. unregisterPageLocked:取消映射矩阵的内存,并使其可再次可页面;
class :: CudaMem:具有引用计数的类包装来自CUDA的特殊内存类型分配函数。它的接口也是Mat() - 但是具有额外的内存类型参数;
25. CudaMem :: createMatHeader:创建一个头,而不引用计数到gpu :: CudaMem数据;
26. CudaMem :: createGpuMatHeader:将CPU内存映射到GPU地址空间,并创建gpu :: GpuMat头,而不引用计数;
27. CudaMem :: canMapHostMemory:如果当前硬件支持地址空间映射和ALLOC_ZEROCOPY内存分配,则返回true;
class :: Stream:这个类封装了一个异步调用队列。一些功能使用附加的gpu :: Stream参数重载;
29. Stream :: queryIfComplete:如果当前流队列完成,则返回true,否则返回false;
Stream :: waitForCompletion:阻止当前CPU线程,直到流中的所有操作完成;
Stream :: enqueueDownload:将数据从设备复制到主机;
Stream :: enqueueUpload:将数据从主机复制到设备;
33. Stream :: enqueueCopy:将数据从设备复制到设备;
Stream :: enqueueMemSet:将设备内存初始化或设置为一个值;
Stream :: enqueueConvert:根据类型将矩阵类型从float转换为uchar;
Stream :: enqueueHostCallback:在流中的所有当前排队的项目已经完成之后,在主机上添加要调用的回调函数;
struct :: StreamAccessor:能够从gpu :: Stream获取cuda Stream_t并在stream_accessor.hpp中声明的类,因为它是唯一依赖于CUDA Runtime API的公头;
gemm(cv :: gemm):执行广义矩阵乘法;
转置(cv :: transpose):转置矩阵;
flip(cv :: flip):在垂直,水平或两个轴上翻转2D矩阵;
LUT(cv :: LUT):使用给定的查找表将源矩阵转换为目标矩阵:dst(I)= lut(src(I));
42. merge(cv :: merge):从多个单通道矩阵中创建多通道矩阵;
split(cv :: split):将多通道矩阵的每个平面复制到数组中;
幅度(cv ::幅度):计算复杂矩阵元素的大小;
amplitudeSqr:计算复矩阵元素的平方;
阶段(cv :: phase):计算复矩阵元素的极角;
cartToPolar(cv :: cartToPolar):将笛卡尔坐标转换为极坐标;
polarToCart(cv :: polarToCart):将极坐标转换为笛卡尔坐标;
规范化(cv :: normalize):规范数组的范数或值范围;
50. add(cv :: add):计算矩阵矩阵或矩阵标量和;
减去(cv :: subtract):计算矩阵矩阵或矩阵标量差;
乘法(cv :: multiply):计算矩阵矩阵或矩阵标量的每元素乘积;
divide(cv :: divide):计算矩阵矩阵或矩阵标量划分;
addWeighted(cv :: addWeighted):
90. threshold(cv :: threshold):对每个数组元素应用固定级别的阈值;
调整大小(cv :: resize):调整图像大小
92. warpAffine(cv :: warpAffine):对图像应用仿射变换;
93. buildWarpAffineMats(gpu :: warpAffine,gpu :: remap):构建仿射变换的转换图;
94. warpPerspective(cv :: warpPerspective):将透视变换应用于图像;
95. buildWarpPerspectiveMaps(gpu :: warpPerspective,gpu :: remap):构建透视变换的转换图;
旋转(gpu :: warpAffine):围绕原点(0,0)旋转图像,然后将其移动;
copyMakeBorder(cv :: copyMakeBorder):在图像周围形成边框;
Canny(cv :: Canny):使用Canny算法在图像中找到边;
117.HoughLines(cv :: HoughLines):使用经典的霍夫变换找到二进制图像中的行;
118.HoughLinesDownload(gpu :: HoughLines):将结果从gpu :: HoughLines下载到主机内存;
HoughCircles(cv :: HoughCircles):使用霍夫变换在灰度图像中找到圆;
HoughCirclesDownload(gpu :: HoughCircles):将结果从gpu :: HoughCircles下载到主机内存;
126. minMax(cv :: minMaxLoc):找到全局最小和最大矩阵元素并返回它们的值;
127. minMaxLoc(cv :: minMaxLoc):找到全局最小值和最大矩阵元素,并返回它们的值与位置;
boxFilter(cv :: boxFilter):使用标准化的框过滤器平滑图像;
178. blur(cv :: blur,gpu :: boxFilter):作为标准化框过滤器的同义词;
Sobel(cv :: Sobel):将广义Sobel算子应用于图像;
194. GaussianBlur(cv :: GaussianBlur):使用高斯滤波器平滑图像;