64位win7+opencv3.0.0+cuda6.5配置过程

64位win7+opencv3.0.0+cuda6.5配置过程


作;1.安装之前确认自己的显卡是否支持CUDA,,并;2.从http://www.nvidia.cn/;3.从https://developer.nvi;4.从http://opencv.org/dow;5.从;二、配置CMAKE;由于未重新编译的OpenCV不支持CUDA,所以;1.点击cmake

64位Windows7+OpenCV3.0.0+CUDA6.5

一、准备工作

1. 安装之前确认自己的显卡是否支持CUDA,,并记住自己显卡的计算能力。本机显卡为GF840M计算能力为5.0

2. 从http://www.nvidia.cn/Download/index.aspx?lang=cn下载最新驱动并安装。

3. 从https://developer.nvidia.com/cuda-downloads下载最新版的CUDA Toolkit6.5 64位,安装,并将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin添加到环境变量中(检查是否已经默认添加),然后重启电脑。具体安装过程可参考

4. 从http://opencv.org/downloads.html下载opencv3.0.0beta版本,并解压到D:\software\OpenCV300

5. 从

二、配置CMAKE

由于未重新编译的OpenCV不支持CUDA,所以需要对OpenCV 源文件进行重新编译产生新的库文件。

1. 点击cmake-gui.exe, 开启对话框,并添加源代码路径(sources文件夹)如下图所示。并添加输出工程文件路径(图中使用自建的vs2012_gpu文件夹)。点击Configure, 产生选项。

2. 在弹出对话框中选择目标平台:我这里选择

VS11 Win64,然后点击Finish

3.为了加快编译,可以将CUDA_ARCH_BIN中的数字设置为目标GPU的Compute Capability。比如本机显卡为GF840m,将CUDA_ARCH_BIN设置为3.0、3.5、5.0,CUDA_ARCH_PTX为5.0。并确定WITH_CUDA 选项已被勾选。

再次点击Configure按钮完成配置(注意这里要再Configure一次)。最后点击Generate按钮生成OpenCV工程文件。

注意:CUDA_ARCH_BIN和CUDA_ARCH_PTX的值参看

,希望能有高人指点

三、编译OPENCV

1.以管理员身份打开VS2012,然后打开OpenCV.sln文件,选择View-> Properties Manager->分别选中ALL_BUILD中的Debug和Release上的

Microsoft.Cpp.Win64.user,依次添加Executable Directories、Include Directories和Library Directories。

2.执行编译即可(Debug/Release)。(这个过程比较漫长,win7 64位,4GB内存,大概需要3小时)

3. 点击CMakeTarget下的INSTALL->右键->仅本工程build,之后会在

D:\software\OpenCV300\opencv\vs2012_gpu\install文件夹下的bin文件夹中存放相应的动态库,在lib文件夹下存放相应的静态库。

4.将D:\software\OpenCV300\opencv\vs2012_gpu\install\x64\vc11\bin加入环境变量,并重启。

四、测试

1. 打开vs2012,新建一个控制台应用程序,为vs2012配置OpenCV环境:选择View-> Properties Manager->分别选中Debug和Release上的

Microsoft.Cpp.Win64.user,点击右键-->Properties:VC++

Directories,Include Directories

3.选中工程->Properties->Configuration

Properties->Linker->Input->AdditionalDependencies:Debug和

Release,添加相应的.lib库;

注意:图片相关需要加opencv_imgcodecs300d.lib

视频相关需要加opencv_videoio300d.lib

4.在D:\software\OpenCV300\opencv\sources\samples\gpu下找个demo测试。并在代码加入(如果iDevicesNum结果非0,说明安装配置正确。)

int iDevicesNum = getCudaEnabledDeviceCount();

cout<<iDevicesNum<<endl;

参考:http://qingqingzjin.blog.163.com/blog/static/1881032672014323114530887/

http://wenku.uu456.com/view/9893ec57763231126edb11b8.html

http://stackoverflow.com/questions/22823186/opencv-gpu-mat-hanging


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值