使用OpenCV的GPU模块(Win7x64+VS2010+OpenCV2.4.5+CUDA5.0)配置详解

小女子花了好几天时间配成了题目所述环境,一遍一遍的编译,真是体会了把吐血的感觉。老师要求尽量都用最新最好的。。。

这个艰辛的过程一定要记录下来,好为日后找好工作找好老公生双胞胎攒人品。

1. 下载OpenCV源码

 http://opencv.org/downloads.html 下载OpenCV-2.4.5.exe 解压到某个目录下

 本人D:\OpenCV2.4.5\opencv\src

2. 安装CUDA5.0

以前安装的要卸载,显卡驱动可以不卸。

https://developer.nvidia.com/cuda-downloads下载Desktop64位版本cuda_5.0.35_winvista_win7_win8_general_64-3.msi

默认安装路径为C:\Program Files\NVIDIA GPU Computing Toolkit\ 建议不修改

安装完成后,在系统环境里面会发现新添加了两个环境变量:

CUDA_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\

CUDA_PATH_V5_0 = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\

手动配置环境变量。在系统环境变量中新建如下项:

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0
CUDA_LIB_PATH = %CUDA_PATH%\lib\X64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64

然后在系统环境变量Path 后添加如下内容:
;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;

3. 安装TBB

去http://threadingbuildingblocks.org/download 下载tbb41_20130314oss_win.zip解压到某路径

本人D:\tbb41_20130314oss

添加环境变量D:\tbb41_20130314oss\bin\intel64\vc10

4. 安装python2.7

因为编译opencv一个项目时要用到python27.lib

必须安装到路径D:\Python27

去http://www.python.org/getit/下载python-2.7.4.amd64.msi

第二行就是。

5 安装Qt

显示图片要用,否则不能显示

去http://qt-project.org/downloads下载qt-win-opensource-4.8.4-vs2010.exe并安装

注销,使所修改的环境变量生效

6 开始cmake

如图填写

输出路径自便。点击Configure

然后如下选择


Finish后 

勾选BUILD_EXAMPLES WITH_TBB WITH_CUDA WITH_Qt 再Configure


TBB_INCLUDE_DIRS 和Qt 可能显示红色

将 TBB_INCLUDE_DIRS 后路径找到D:\tbb41_20130314oss\include

Qt 后路径则找到qmake.exe即可 如C:\Qt\4.8.4\qmake

再Configure  还会有红色出现


TBB_LIB_DIR  后路径D:\tbb41_20130314oss\lib\intel64\vc10

TBB_STDDEF_PATH 后路径D:/tbb41_20130314oss/include/tbb/tbb_stddef.h

再次Configure 应该没有红色了注意一定要保证版本信息



最后 Generate

D:\OpenCV2.4.5\opencv\src\build4中有OpenCV.sln 。

7 编译OpenCV.sln

在属性管理器中找到 Microsoft.Cpp.x64.user


右键属性设置一些路径


可执行文件目录 D:\tbb41_20130314oss\bin\intel64\vc10

包含目录 D:\tbb41_20130314oss\include

库目录 D:\tbb41_20130314oss\lib\intel64\vc10;D:\OpenCV2.4.5\opencv\src\build\x64\vc10\lib;

确定后 开始编译

在Debug下 

如果有LNK error 找不到 python27_d.lib 

则找到出错的项目 将其头文件pyconfig.h 中的一行代码修改一下


 将pragma comment(lib,"python27_d.lib")改成pragma comment(lib,"python27.lib")

可以看到该项目的附加依赖项是 D:\Python27\libs\python27.lib


编译如果没有错误,再对INSTALL 右键 生成


D:\OpenCV2.4.5\opencv\src\build4\install 将会有我们以后要用到的 dll lib等


Release下配置方法类似 不再赘述


8 在VS2010 64位下编程

有了上面生成的dll lib我们就可以使用gpu模块了

具体的opencv配置方法到处可见 不再多说 但是有一点 要说一下

如何修改这里

项目右键 属性 链接器 高级 目标计算机 如图修改


然后

生成 —> 配置管理器


平台那一栏 点小三角 新建

选择x64 确定即可。


可以看到 多了个文件夹x64\Debug 里面有生成的exe


哎呀,妈呀!!写那么多可累死我啦!! 希望对你有用处,有用的话就顶我一下吧!


主题推荐
vs2010 opencv win7 gpu cuda
猜你在找
移动开发OpenCV中GPU函数
OpenCV学习笔记基于Haar特征的人脸检测
ubuntu 1110升级到1204键盘鼠标无法使用解决方案
OpenCV學習筆記6基於 VC+OpenCV+DirectShow 的多個攝像頭同步工作
图像处理DIBR-3D图像变换3D Image Warping
OpenCV显示摄像头图像保存成bmp文件
Araxis Merge 中文乱码问题的解决
MFC中怎样将位图写入指定的Picture控件中两种方式1 加载已有位图 2读取位图文件另外CreateDIBitmap的用法和StretchDIBits用法举例
error adding symbols DSO missing from command line
学习Opencv 249二 ---操作像素
id="ad_frm_0" frameborder="0" scrolling="no" src="http://blog.csdn.net/common/ad.html?t=4&containerId=ad_cen&frmId=ad_frm_0" style="border-width: 0px; overflow: hidden; width: 746px; height: 90px;">
查看评论
15楼  x7673 2014-06-13 13:57发表 [回复]
编译通过。很好,谢谢!
14楼  single_star123 2014-05-22 11:18发表 [回复]
您好,我这边出现了QtGuid4.lib(QtGuid4.dll) : fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突

QT安装的是是Qt4,就是和你上面说的一样的版本,怎么还会有这个错误?
13楼  liao_jian 2014-04-26 23:37发表 [回复]
楼主你好,看了你的文章,有很大收获,这两天做毕设要使用opencv gpu模块,我想问一下可以不用tbb吗?
12楼  既然如此 2014-03-01 10:01发表 [回复]
你好楼主,我想问下你的D:\OpenCV2.4.5\opencv\src
这个路径下面的内容。谢谢了
11楼  cmengwei 2014-01-14 11:22发表 [回复]
你好,,我debug编译出来的,可以测试通过,但Release下测试案例则一直不能通过,Release下的配置编译 ,有哪些具体的注意事项?
10楼  anan1205 2013-11-28 14:10发表 [回复]
您好,请问您是哪个类型的显卡啊,或者您编译好的opencv能不能发给我一份,谢谢!
9楼  hupenghui 2013-07-26 23:51发表 [回复]
fatal error LNK1104: 无法打开文件“..\..\lib\Debug\opencv_highgui245d.lib”
类似这样的错误
8楼  hupenghui 2013-07-26 23:09发表 [回复]
与你的不同之处:
1,我实在笔记本上编译的,所以我下载的cuda是notebook的64位5.0版本。
2,我这里没有出现“Microsoft.Cpp.x64.user”!
3,这个东西好像不成熟啊!太麻烦了,我现在还没有编译通过呢!
7楼  gougoudexili 2013-07-17 11:44发表 [回复]
我编译的时候怎么好慢 好像不停在编译CUDA的模块
Re:  quanquanyu 2013-07-17 16:01发表 [回复]
回复gougoudexili:我编译时也挺慢,但是我这台电脑也算不错的配置了,耐心等等看吧
Re:  gougoudexili 2013-07-20 01:12发表 [回复]
回复quanquanyu:恩 最后配好的 谢谢啊
6楼  SUN_DRAGON 2013-06-26 09:13发表 [回复]
终于编译成功了,谢谢你的帮助!
Re:  quanquanyu 2013-06-26 11:10发表 [回复]
回复SUN_DRAGON:不客气,哈哈
5楼  SUN_DRAGON 2013-06-24 16:45发表 [回复]
我编译完之后,
有247succeeded,2failed,5skipped;
时间太长了,不敢重新编译,
有15个errors
都是referenced in function main
这个可以了吗?
Re:  quanquanyu 2013-06-24 18:50发表 [回复]
回复SUN_DRAGON:这个..不好说 看你用哪个模块了 你可以右键生成,而不是重新生成。那样不会编译太久
4楼  SUN_DRAGON 2013-06-24 10:05发表 [回复]
您好,我在按照你的过程配置的时候,出现了:
error LNK1112: module machine type 'X86' confilicts with target machine type 'x64' QtGuid4.lib.
是不是你在安装qt的时候,重新编译过的呀?
没有看到64位的版本。
Re:  quanquanyu 2013-06-24 10:12发表 [回复]
回复SUN_DRAGON:没有啊 装Qt4就行,Qt5可能出问题
Re:  SUN_DRAGON 2013-06-24 13:05发表 [回复]
回复quanquanyu:谢谢,我再看看
3楼  SUN_DRAGON 2013-06-21 16:18发表 [回复]
谢谢!
Re:  quanquanyu 2013-06-21 17:19发表 [回复]
回复SUN_DRAGON:不客气,多谢捧场
2楼  gaoyuanqian 2013-06-13 22:08发表 [回复] [引用] [举报]
按楼主步骤在cmake中配置,但是generate之前报错,如下:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_npp_LIBRARY (ADVANCED)
linked by target "opencv_core" in directory C:/cuda/src/modules/core
linked by target "opencv_gpu" in directory C:/cuda/src/modules/gpu
linked by target "opencv_nonfree" in directory C:/cuda/src/modules/nonfree
敢问楼主有没遇到这样的问题??感激不尽呀。。
Re:  quanquanyu 2013-06-14 09:51发表 [回复]
回复gaoyuanqian:没有遇到,我安装配置步骤及遇到的问题都写在上面了。你会不会CUDA少装东西了?
1楼  wangye623902748 2013-05-12 22:00发表 [回复]
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: OpenCV是一个开源的计算机视觉和机器学习库,可以方便地处理图像和视频。而CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一种并行计算架构,可以加速图形处理器(GPU)上的计算任务。 OpenCV 4.5.1是OpenCV的一个版本,它提供了丰富的功能和算法,用于图像和视频处理、特征提取、目标检测等任务。这个版本可以在Windows 10操作系统上使用,并且可以与Visual Studio 2017集成,提供开发环境和调试工具。 CUDA 10.0是NVIDIA的一个版本,它支持NVIDIA GPU上的并行计算任务。它允许开发人员使用C语言、C++或CUDA自己的扩展语言编写并行计算代码,以加速计算密集型任务。例如,在图像处理中,可以使用CUDA加速OpenCV算法,从而提高计算性能。 而cuDNN(CUDA Deep Neural Network library)是NVIDIA专门为深度学习任务开发的一个库。它提供了一组高性能的深度神经网络的基本操作和优化算法,可以与CUDAOpenCV结合使用。 综上所述,OpenCV 4.5.1可以与CUDA 10.0和cuDNN 7.6.0集成使用。开发者可以在Visual Studio 2017中使用这些工具和库进行图像处理和机器学习任务的开发和优化。通过使用CUDA加速,可以提高计算性能,而cuDNN可以提供深度学习任务所需的算法和操作。 ### 回答2: OpenCV 4.5.1是一个计算机视觉库,用于在计算机视觉和机器学习项目中进行图像和视频处理。VS2017是一个集成开发环境(IDE),用于Windows操作系统上的软件开发。CUDA(Compute Unified Device Architecture)是一个用于GPU计算的并行计算平台和API模型。CUDNN是NVIDIA深度神经网络库,用于在GPU上加速深度学习任务。 在Windows 10上使用VS2017来编译OpenCV 4.5.1,并在CUDA 10.0和CUDNN 7.6.0的支持下进行构建可以提供更好的计算性能和加速。CUDA 10.0提供了与CUDA架构和驱动程序的兼容性,并支持许多NVIDIA GPU。CUDNN 7.6.0是基于CUDA的深度神经网络库,可以加速深度学习任务的训练和推理。 使用VS2017编译OpenCV可以让开发者方便地在Windows平台上进行开发和调试。VS2017提供了强大的集成开发环境,它可以帮助开发者编写、调试和测试程序。通过配置CUDA 10.0和CUDNN 7.6.0来支持OpenCVGPU加速,可以进一步提高图像和视频处理的速度和效率。 总结来说,使用OpenCV 4.5.1、VS2017、Windows 10、CUDA 10.0和CUDNN 7.6.0可以实现在Windows平台上的高效计算机视觉和机器学习开发。这种配置可以提供更好的性能和加速,特别是在需要处理大量图像和视频、进行深度学习任务的情况下。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值