写在前面:一直想尝试一下opencv GPU模块,无奈以前电脑配置的ATI的显卡,最近换了一台联想的D20工作站,虽然性能不比最近发布的D30,但还算是有了可以尝试cuda的平台。没想到刚开始还是遇到不少问题。首先遇到的就是重新编译支持GPU模块的opencv版本,由于这里写的是回忆,可能有些不太详尽,还望看到这篇博文的朋友能够补充。
一、安装篇:
安装部分分为cuda安装和opencv编译。
1.1、cuda安装。
首先下载最新版的cuda toolkit。截至目前最新的稳定版为CUDA Toolkit v6.0,下载地址为https://developer.nvidia.com/cuda-downloads,选择适合自己系统的版本下载即可,注意:有时需要更新显卡驱动,更新就是了。当然还是可以下载6.0之前的版本,比如CUDA Toolkit v5.5 ,同样给出下载地址:https://developer.nvidia.com/cuda-toolkit-55-archive。下载完成后按照默认设置安装就是,安装完成后程序会自动在系统环境变量中加入相关路径。注意:添加环境变量部分,看到很多博客都提到需要另外添加一些其他的变量,如果觉得有必要加那就按照他们说法加上就是。
1.2、编译opencv,WITH_CUDA ON
这一步需要用的CMake工具,到官网下载安装就是http://www.cmake.org/cmake/resources/software.html。目前2.8和3.0选择一个安装就是了。当然这里假定电脑上已经安装了最新版的opencv2.4.9.。
设置Cmake:
设置opencv的源文件和接下编译opencv的路径。设置完成后点击下方的按钮,弹出一个对话框,选择编译器,本人使用的vs2010 64位的操作系统,所以。。
选择好了编译器,点击“Finish”CMake就开始加载opencv和系统设置了,稍等片刻。。。。好了,出来了一个红色背景的信息
由于我这里只关注GPU模块所以我在搜索框搜索“CUDA”,结果如下:
这里必须勾选“WITH_CUDA“!!!为了节省编译时间可以修改”CUDA_ARCH_BIN“的值,如上图,(1.1 1.2 1.3 2.0 2.1 3.0 3.5)这里主要辨识的是显卡支持的计算能力,相关信息可以参考CUDA文档。通过查询我的显卡最高能支持2.0的计算能力,为了节省编译的时间的只保留2.0。
这里需要特别说明的是,编译GPU模块需要的时间比较长,所以如果只编译其中一个计算能力即可节省6~7倍的时间,当然这也根据电脑配置。
设置好了之后,在此点击
出现一下信息,背景变成白色了,表示配置没有问题,期间可能出现很多警告信息,基本可以无视。
















