python opencv cuda加速_编译OpenCV的GPU,利用CUDA加速

首先检查自己的机器是否支持,否则都是白搭(只有NVIDIA的显卡才支持,可在设备管理器中查看)

如果不用GPU,可以直接官网下载预编译好的库

环境:

1 VS2013

2 Opencv2.4.9

3 CUDA6.5 (只有6.5版本以上版本才加入对VS2013的支持,6.0最高支持到2012)

4 TBB

--------------------------------------分割线 --------------------------------------

Linux Mint 13/Ubuntu 12.04 配置CUDA 4.2 & OpenCV 2.4.2 方法 http://www.linuxidc.com/Linux/2013-10/91102.htm

--------------------------------------分割线 --------------------------------------

--------------以下内容转自网络(加入了自己编译时遇到的问题及解决方案)-----------------

1. 需要的文件

1.1 CMAKE 3.0 [http://www.cmake.org/download/

1.2 CUDA 6.5 [https://developer.nvidia.com/cuda-toolkit

1.3 OpenCV 源文件 [https://github.com/Itseez/opencv/releases/tag/2.4.9

1.4 Intel TBB 库 [https://www.threadingbuildingblocks.org/download

1.5 Python 2.7 (非必须)

1.6 Eigen 2.0.17 (非必须)

1.7 Visual Studio 2013 (也可以用其他版本)

2. 配置 CMAKE

2.1 打开 CMAKE

- 选择 Source Folder 到 OpenCV 的源文件目录

- 选择 Output Folder

- 勾选 Advanced

python opencv cuda加速_编译OpenCV的GPU,利用CUDA加速_第1张图片

2.2 点 Configure,选择编译器

- 选择 ‘Visual Studio 12 2013 Win64′

2.3 配置 CUDA 选项

- 取消 ‘BUILD_DOCS’ and ‘BUILD_EXAMPLES’

- 取消 ‘CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE’

- 检查 ‘CMAKE_LINKER’, 保证是 Visual Studio 12.0 (vs2013)

- 选上 ‘WITH_CUBLAS’, ‘WITH_CUDA’, ‘WITH_OPENGL’, ‘WITH_TBB’

- 点击 Configure 刷新配置

2.4 配置 TBB 选项

- 把 tbb include path 设置好,例如我的是 “D:\toolkits\tbb43_20140724oss\include”。一定要选到 include文件夹为止。

- 点击 Configure 刷新

- 接着可以看到 tbb 的 library 目录自动有了,但是可能是错的,需要改到 Debug 和 Release 文件夹的上级目录为止。例如我的要加上 ‘vc12*,变成 D:/toolkits/tbb43_20140724oss/lib/intel64/vc12〃(不加vc12的话,opencv_core模块都编译不过去,其他的就不用说了)

- 点击 Configure 刷新

2.5 直到没有红色条目出现,点击 Generate 生成 OpenCV.sln

python opencv cuda加速_编译OpenCV的GPU,利用CUDA加速_第2张图片

3. 编译 OpenCV.sln

- 如果 OpenCV,tbb,Python 中的某个安装在 C:\Program Files,那么你需要用管理员权限运行 vs2013 才行

- 我建议先编译 *opencv_core* 和 ‘ opencv_gpu* (右键点击,点 *BUILD*)。如果这两个没错,接下来应该都可以编译

- 右键点击 *ALL_BUILD*,在点 *BUILD*

- *BUILD* 之后在编译一下 *INSTALL*,来把编译好的文件放在一起到 *\install*

- 在切换到 Release,重复 *ALL_BUILD* 和 *INSTALL*

- *Debug* 应该会有一个 error, *Release* 应该会没有 error

- 编译时间很长。很长。

0b1331709591d260c1c78e86d0c51c18.png

你可能感兴趣的:(python,opencv,cuda加速)