写在前面:一直想尝试一下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倍的时间,当然这也根据电脑配置。


设置好了之后,在此点击

出现一下信息,背景变成白色了,表示配置没有问题,期间可能出现很多警告信息,基本可以无视。