OpenCV中的GPU模块、CUDA加速
2017-11-10 11:05
1691 查看
原文来自:http://www.cnblogs.com/dwdxdy/archive/2013/08/07/3244508.html
CUDA基本使用方法
在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下:
1.主机代码执行;2.传输数据到GPU;3.确定grid,block大小;
4.调用内核函数,GPU运行程序;5.传输结果到CPU;6.继续主机代码执行。
下图是两个向量相加的简单示例程序和处理流图。
注意的问题:cu,cpp文件的组织
内核函数和其wrapper函数置于cu文件中。
在cpp文件声明wrapper函数,并调用wrapper函数。
wrapper函数的声明定义需加extern "C"。
OpenCV中GPU模块的使用
使用的步骤与CUDA的基本使用方法类似,只是OpenCV中GPU模块,已经封装的内核函数的调用,其使用步骤如下:
1.验证OpenCV是否已启用GPU模块。
2.上传待处理数据到GPU (Mat --> GpuMat)。
3.调用OpenCV支持的GPU的处理函数。
4.下载处理结果到CPU (GpuMat ---> Mat)。
其示例程序如下,完成颜色转换,BGR2GRAY。
CUDA基本使用方法
在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下:
1.主机代码执行;2.传输数据到GPU;3.确定grid,block大小;
4.调用内核函数,GPU运行程序;5.传输结果到CPU;6.继续主机代码执行。
下图是两个向量相加的简单示例程序和处理流图。
注意的问题:cu,cpp文件的组织
内核函数和其wrapper函数置于cu文件中。
在cpp文件声明wrapper函数,并调用wrapper函数。
wrapper函数的声明定义需加extern "C"。
OpenCV中GPU模块的使用
使用的步骤与CUDA的基本使用方法类似,只是OpenCV中GPU模块,已经封装的内核函数的调用,其使用步骤如下:
1.验证OpenCV是否已启用GPU模块。
2.上传待处理数据到GPU (Mat --> GpuMat)。
3.调用OpenCV支持的GPU的处理函数。
4.下载处理结果到CPU (GpuMat ---> Mat)。
其示例程序如下,完成颜色转换,BGR2GRAY。
相关文章推荐
- 要点初见:OpenCV3中CUDA ORB特征提取算法的实现(GPU加速的ORB算法)
- OpenCV之gpu 模块. 使用GPU加速的计算机视觉:GPU上的相似度检测(PNSR 和 SSIM)
- 使用OpenCV的GPU模块(Win7x64+VS2010+OpenCV2.4.5+CUDA5.0)配置详解
- 【计算机视觉】【并行计算与CUDA开发】OpenCV中GPU模块使用
- [转]编译Opencv的GPU,利用CUDA加速
- 使用OpenCV的GPU模块(Win7x64+VS2010+OpenCV2.4.5+CUDA5.0)配置详解
- cuda5.5/6.0 + opencv 2.4.9 vs2010 编译opencv GPU模块
- 使用OpenCV的GPU模块(Win7x64+VS2010+OpenCV2.4.5+CUDA5.0)配置详解
- Cuda 5.5 + Qt5 + opencv 2.4.8 使用cmake+vs2012编译GPU加速的opencv
- OpenCV中GPU模块(CUDA)函数
- 【学习OpenCV】OpenCV的GPU模块(CUDA)的配置和例程(含OpenCV 3.0的说明)
- 编译Opencv的GPU,利用CUDA加速
- OpenCV中GPU模块(CUDA)函数
- OpenCV中GPU模块(CUDA)函数
- 计算机视觉标准OpenCV支持CUDA GPU加速
- 编译Opencv的GPU,利用CUDA加速
- 关于OpenCV Gpu模块无法使用Cuda4.2以上版本编译成功的解决方案
- OpenCV中配置CUDA,实现GPU加速
- ubuntu16.04下opencv3.3 GPU(CUDA)加速
- NVIDIA Jetson TK1学习与开发(九):基于GPU加速的OpenCV人体检测(Full Body Detection)