OpenCV3的GPU模块需要手动重新编译才可以使用。本文介绍了编译OpenCV3.2.0+ GPU模块的方法
需要准备,安装好vs2013
Vs2013可能无法运行,需要进行更新
进行update5就ok
前期准备:
查看自己显卡是否支持cuda
[win+R]打开[运行] -> 输入[cmd]按回车打开[命令行] -> 输入[start devmgmt.msc]按回车打开[设备管理器]。在显示适配器选项中看自己的显卡型号。如图:
下载安装CUDA Tookit
Nvidia官网https://developer.nvidia.com/cuda-downloads 选择系统型号,下载CUDA Tookit,建议[Installer Type]选[exe(local)]。本人用的是v7.5版本
装上以后要设置系统变量,桌面上此电脑右键属性->高级系统设置->高级系统属性->高级->环境变量->系统变量中的Path。
这里面有两个变量需要设置:...\CUDA\v7.5\bin;
...\CUDA\v7.5\libnvvp;
设置完变量后需要验证是否成功安装CUDA
[win+R]打开[运行] -> 输入[cmd]按回车打开[命令行] -> 输入[nvcc -V] 注意nvcc与-V之间有个空格。
这里显示CUDA版本为V7.5
重新编译opencv3.2.0
首先下载opencv3.2.0 http://opencv.org/
这个库是不去全的所以还要再下载一个opencv的扩展库opencv_contrib-3.2.0
链接:http://pan.baidu.com/s/1c1E6oFI 密码:0nub。这个链接里有博主说的opencv_contrib-3.2.0 以及下面的cmake。
并且解压在opencv目录下
安装cmake
下载Cmake工具并安装。
安装完成后打开CMake (cmake-gui)
点[Brouse Source…],选择OpenCV源码那个sources文件夹的路径。
点[Brouse Build…],选择要生成的工程的路径。
本人是在原opencv文件夹下新建CUDA文件夹,并把生成路径指定在此
第一次点击conflgue
会得到下图:
点击finish得到下图
在search栏填入opencv_extra得到下图
原本value是没有地址的需要把地址引入...pencv_contrib-3.2.0\opencv_contrib-3.2.0\modules
有几个需要注意的地方:
Build_CUDA_STUBS一定不要点
把WITH_CUDA点上 一般是默认打钩的,其他的默认就好。
再次点击configure 轻松过
完成后再点击generate
Cmake阶段就完成了。Cmake可以关闭了
进入之前cmake生成文件的文件夹
双击opencv
建议生成以下标注选项,因为全部生成文件时间很长,主要的失败了别的也没有什么意义
如果有错误直接进入相应的类文件单独生成
没有错误的话可以右击解决方案>>>生成解决方案
编译时间非常长,大约在2--4个小时时间
编译好后应该不会有什么错。如果有一两个Matlab啊Python啊之类的错误请无视之。如果几十个几百个错可能就会很大程度上影响使用了。
编译好后,找到解决方案目录里的[CMakeTargets]项展开的[INSTALL]项,右键->[Project Only(仅项目)]->[Build Only INSTALL(仅生成INSTALL)]。
就可以关闭vs2013了
再次打开之前生成工程的目录,找到install文件夹。这个文件夹就相当于原装OpenCV的那个build。只要把OpenCV环境变量指到这个下就能用新编译的OpenCV了
要注意之前如果是64位VC12生成的工程并且用DEBUG编译的OpenCV,新编译的OpenCV就只能用VC12 ×64 debug的运行库
编译完成后你可以打开你生成的库文件夹...build\x64\v12\lib
在vs2013新建一个项目
确定>>下一步>>空项目
配置调试器。注意用DEBUG x64的,没有的话新建一个。
配置好工程属性中的[包含目录]、[库目录]、[输入->外部依赖项]。
把这些东西加入你的vs2013外部依赖项即可
整体类似于opencv3.2.0与vs2013的配置过程
完成编译并配置
博主邮箱[email protected]。有问题可以博客留言或者邮箱联系