当前位置: 首页 > 编程日记 > 正文

Windows7 32位机上,OpenCV中配置GPU操作步骤

1、  查看本机配置,查看显卡类型是否支持NVIDIA GPU,本机显卡为NVIDIA GeForce 8400 GS;

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

3、  从https://developer.nvidia.com/cuda-toolkit根据本机类型下载相应最新版的CUDA Toolkit5.0,安装,并通过样本程序验证其安装正确;

4、  将C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin添加到环境变量中(检查是否已经默认添加);

5、  从http://threadingbuildingblocks.org/下载最新版的TBB4.1,解压缩,并将其bin目录D:\soft\OpenCV2.4.6\TBB\tbb41_20130613oss\bin\ia32\vc10添加到环境变量中,注销或重启;

6、  从http://opencv.org/downloads.html 下载最新版本的OpenCV2.4.6,并解压缩到D:\soft\OpenCV2.4.6文件夹中;

7、  从http://www.cmake.org/cmake/resources/software.html下载最新版本的CMake2.8.11.2并安装;

8、  打开CMake,在Where isthe source code:中选择D:\soft\OpenCV2.4.6\opencv文件夹,在Where to buildthe binaries:中选择D:/soft/OpenCV2.4.6/vs2010_GPU文件夹,此文件夹为手动创建;

9、  点击Configure按钮,在弹出的对话框中选择VisualStudio 10,然后点击Finish;

10、             如果有红色框出现,勾选BUILD_EXAMPLES、WITH_TBB、WITH_CUBLAS、WITH_CUDA、WITH_CUFFT,然后再次点击Configure按钮;

11、             如果还有红色框出现,TBB_INCLUDE_DIRS,将其值改为D:\soft\OpenCV2.4.6\TBB\tbb41_20130613oss\include为TBB中include所在的目录,然后再次点击Configure按钮;

12、             如何还有红色框出现,TBB_LIB_DIR、TBB_STDDEF_PATH,再次点击Configure按钮;

13、             如果在下方信息框中有:Use TBB: YES(ver 4.1 interface 6105),Use Cuda: YES(ver5.0),证明我们已经将inteltbb和CUDA正确配置;

14、             点击Generate按钮,此时会在D:\soft\OpenCV2.4.6\vs2010_GPU文件夹下生成OpenCV.sln文件;

15、             以管理员身份,使用vs2010打开OpenCV.sln文件,选择View--> Properties Manager-->分别选中ALL_BUILD中的DebugRelease上的Microsoft.Cpp.Win32.user,依次添加inteltbbCUDA Executable DirectoriesInclude DirectoriesLibrary Directories,点击右键-->PropertiesVC++ DirectoriesInclude DirectoriesD:\soft\OpenCV2.4.6\TBB\tbb41_20130613oss\include C:\Program Files\NVIDIAGPU Computing Toolkit\CUDA\v5.0\includeLibrary DirectoriesD:\soft\OpenCV2.4.6\TBB\tbb41_20130613oss\lib\ia32\vc10  C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v5.0\lib\Win32Executable DirectoriesD:\soft\OpenCV2.4.6\TBB\tbb41_20130613oss\bin\ia32\vc10  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin

16、             选中modules中的opencv_gpu,点击右键,选择Properties-->Linker-->Input-->Ignore SpecificDefault Libraries加入libcmtlibcmtd

17、             分别在DebugRelease下,选择Solution Explorer里的Solution OpenCV,点击右键,运行”Rebuild Solution”,点击CMakeTargets下的INSTALLbuild;会在D:\soft\OpenCV2.4.3\vs2010\install文件夹下的bin文件夹中存放相应的动态库,在lib文件夹下存放相应的静态库;

18、             打开vs2010,新建一个控制台应用程序,为vs2010配置OpenCV环境:选择View--> Properties Manager-->分别选中DebugRelease上的Microsoft.Cpp.Win32.user,点击右键-->PropertiesVC++ DirectoriesInclude DirectoriesD:\Soft\OpenCV2.4.6\vs2010_GPU\install\includeD:\Soft\OpenCV2.4.6\vs2010_GPU\install\include\opencvD:\Soft\OpenCV2.4.6\vs2010_GPU\install\include\opencv2Library DirectoriesD:\Soft\OpenCV2.4.6\vs2010_GPU\install\lib

19、             选中工程-->Properties-->Configuration Properties-->Linker-->Input-->AdditionalDependenciesDebugRelease,添加相应的.lib库;

20、               D:\soft\OpenCV2.4.6\vs2010_GPU\install\bin加入到windows系统环境变量Path中,重启。

说明

(1)、安装CUDA Toolkit时最好不要修改其默认的安装目录;

(2)、其中TBB不是必须的,也可不用安装,即第51112步可省略;

(3)、为了缩短编译时间,可以通过CMake中改变CUDA_ARCH_BINCUDA_ARCH_PTX值进行设置,将BUILD_EXAMPLES和WITH_TBB的勾选去掉

(4)、在编译前最好把360安全卫士和杀毒软件关闭;

(5)、也可不用管理员身份打开OpenCV.sln,第15步的属性配置也不是必须的;

(6)、也可以不用修改opencv_gpu模块的属性配置,默认即可,即第16步也不是必须的;

(7)、编译过程中会弹出数次对话框,如出现宏对话框则点击Cancel选项,其它则选择Yes选项;

(8)、编译成功后的库也可以直接应用于OpenCV中的OpenCL模块。

示例如下,如果iDevicesNum结果非0,说明安装配置正确。

#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <opencv2/gpu/gpu.hpp>using namespace cv;
using namespace cv::gpu;int_tmain(int argc, _TCHAR* argv[])
{int iDevicesNum = getCudaEnabledDeviceCount();cout<<iDevicesNum<<endl;return 0;
}

参考文献:

1、 http://opencv.willowgarage.com/wiki/OpenCV_GPU

2、 http://docs.opencv.org/modules/gpu/doc/introduction.html

3、 http://wenku.baidu.com/view/81e29c6f011ca300a6c390dd.html

4、 http://blog.cuvilib.com/2011/03/22/how-to-build-opencv-2-2-with-gpu-cuda-on-windows-7/

5、 http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-microsoft-windows/index.html

相关文章:

【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅

这是我悲惨的接近爆零的一次考试&#xff0c;但是本蒟蒻不能放弃&#xff0c;还是要总结的QAQ 答题卡 【题目背景】 八月是个悲惨的月份。先不谈炎热的天气&#xff0c;对于新生来说&#xff0c;八月意味着军训&#xff1b; 而对于高二高三的同学来说&#xff0c;八月意味着开学…

RememberMe 功能的实现(base-auth使用说明)

2019独角兽企业重金招聘Python工程师标准>>> 日常记录&#xff0c;代码是根据SpringSecurity写的。 ###写个Entity类实现UserDetails <!-- lang: java --> package com.lqz.b2c.base.web.controller.member.support;import com.lqz.b2c.base.entity.Passport;…

AutoML前沿技术与实践经验分享 | 免费公开课

传统机器学习的解决范式可表示为&#xff1a;ML Solution ML expertise Computation Data新机器学习范式可表示为&#xff1a;New ML Solution 100x Computation 100x Data通过表示的变化&#xff0c;可以看出&#xff0c;传统范式的“ML expertise”被“100x”的“Comput…

Windows 7 64位机上搭建Android开发环境

1、从http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html下载Java JDK&#xff0c;根据机子本身配置&#xff0c;选择jdk-7u25-windows-x64.exe下载&#xff0c;将其安装到D:\ProgramFiles\Java\jdk1.7.0_25文件夹下&#xff0c;并将D:\Pro…

近4万Star,登月源码登顶GitHub,这位女程序员“拯救”了阿波罗

作者 | 伍杏玲转载自CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;1969 年 7 月 20 日&#xff0c;“阿波罗 11 号”飞船登月&#xff0c;宇航员尼尔阿姆斯特朗&#xff08;Neil Armstrong&#xff09;成功踏上月球表面&#xff0c;标志着人类第一次踏上月球&#xff0c…

Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤

1、 先按照http://blog.csdn.net/fengbingchun/article/details/10439281中操作搭建好基本的Android开发环境&#xff1b; 2、 打开Eclipse&#xff0c;-->Window-->AndroidVirtual Device Manager-->New-->AVD Name:Android_OpenGLES, Device:GalaxyNexus(4.65…

animate默认时长所带来的问题及解决

一、需求描述 做一个进度条长度逐渐减少的动画&#xff0c;当进度条长度小于等于0时&#xff0c;关闭动画&#xff0c;并弹出透明底板显示新提示。 二、问题描述 初始代码如下&#xff1a; //设置进度条初始长度 var progressLength 180; //设置一个定时器 var timer …

避坑指南:如何选择适当的预测评价指标?| 程序员评测

作者 | Nicolas Vandeput译者 | Tianyu责编 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导语】因为不存在一个适用于所有情况的评价指标&#xff0c;所以评估预测精度&#xff08;或误差&#xff09;就变成了一件不是那么容易的事情。只有通过…

利用JNI技术在Android中调用C++代码

JNI是Java Native Interface的简称&#xff0c;也就是Java本地接口&#xff0c;它提供了若干的API实现Java和其它语言的通信(主要是C&C)。 1、打开Eclipse&#xff0c;File-->New-->Project…-->AndroidApplication Project-->Application Name:TestJNI,Packag…

微软开源数据处理引擎 Trill,每天可分析万亿次事件

微软近日开源了数据处理引擎 Trill&#xff0c;它每天能够分析万亿次事件。项目地址&#xff1a;https://github.com/Microsoft/trill当下每毫秒处理大量数据正成为一种常见的业务需求&#xff0c;此次微软开源的 Trill&#xff0c;据说每秒能够处理高达数十亿事件&#xff0c;…

【杭电ACM】1097 A hard puzzle

【杭电ACM】1097 A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid1097 先用int手写了算法结果竟然wrong answer&#xff0c;估计是测试数据很大&#xff0c;直接上BigInteger 和modPow()&#xff0c;轻松解决。 1 //author:pz2 3 import java.math.BigInteger;4 im…

mvc 下的 signalR使用小结

2019独角兽企业重金招聘Python工程师标准>>> sirnal下有两种使用。 一种是 Persistent Connection &#xff0c;另外一种是Hubs 。详细请看 https://github.com/SignalR/SignalR/wiki &#xff1b; hubs支持浏览器与客户端互相调用方法。所以应用更广泛。 在前台…

利用JNI技术在Android中调用C++形式的OpenGL ES 2.0函数

1、 打开Eclipse&#xff0c;File-->New-->Project…-->Android-->AndroidApplication Project,Next-->Application Name:FillTriangle, PackageName:com.filltriangle.android,Minimum Required SDK:API 10Android2.3.3(Gingerbread),Next--&g…

Python三十年技术演变史

作者 | 宋天龙&#xff0c;大数据技术专家&#xff0c;触脉咨询合伙人兼副总裁&#xff0c;前Webtrekk中国区技术和咨询负责人&#xff08;Webtrekk&#xff0c;德国的在线数据分析服务提供商&#xff09;。擅长数据挖掘、建模、分析与运营&#xff0c;精通端到端数据价值场景设…

php 扩展包链接

https://pecl.php.net/package-stats.php?cid7转载于:https://www.cnblogs.com/gaoyuechen/p/10148754.html

面向中小企业的视频云服务 视频托管

2019独角兽企业重金招聘Python工程师标准>>> 面向中小企业的视频云服务解决方案 如果你是一个传统的企业网站&#xff0c;想要在网站首页加入一段视频&#xff0c;或者是一个垂直资讯网站想要开设视频频道&#xff0c;又或者想要进行一项活动的在线直播。这时候也许…

VS2010下编译OpenCV2.4.6静态库

1、 从 http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.3/ 下载最新的OpenCV2.4.6&#xff1b; 2、 将OpenCV-2.4.6.0.exe存放到D:\Soft\OpenCV2.4.6文件夹下&#xff0c;解压到当前文件夹下&#xff0c;生成一个opencv文件夹&#xff1b; 3、 下…

【性能优化之道】每秒上万并发下的Spring Cloud参数优化实战

一、写在前面 相信不少朋友都在自己公司使用Spring Cloud框架来构建微服务架构&#xff0c;毕竟现在这是非常火的一门技术。 如果只是用户量很少的传统IT系统&#xff0c;使用Spring Cloud可能还暴露不出什么问题。 如果是较多用户量&#xff0c;高峰每秒高达上万并发请求的互联…

共话数据智能新经济,首届市北·GMIS 2019全球数据智能峰会隆重召开

7月19日&#xff0c;上海市市北高新技术服务业园区&#xff08;以下简称“市北高新”&#xff09;成功举办首届「市北GMIS 2019全球数据智能峰会」&#xff08;以下简称“市北GMIS峰会”&#xff09;。为期两天的市北GMIS峰会以“拥抱数智经济&#xff0c;赋能产业生态”为主题…

最新剑桥《AI全景报告》出炉:中国发表机器学习学术研究超过美国

来源 | 转载自新智元&#xff08;ID:AI_era&#xff09;2019年即将过去一半&#xff0c;剑桥大学的两位研究人员近日推出了本年度的State AI 2019全景报告。本报告基本沿袭去年的大体框架&#xff0c;从产业、人才、政策、预测等方面对过去一年来AI领域的技术的新进步、产业格局…

《OpenMP编译原理及实现技术》摘录

内容摘自《OpenMP编译原理及实现技术》第2章 代码测试环境&#xff1a;Windows7 64bit, VS2010, 4核机。 可以说OpenMP制导指令将C语言扩展为一个并行语言&#xff0c;但OpenMP本身不是一种独立的并行语言&#xff0c;而是为多处理器上编写并行程序而设计的、指导共享内存、多…

C# 36进制转10进制

代码是Java转过来的&#xff0c;变量名都没有改……有空再整理一下好了。public long toDecimal(string input, long bs){try{long Bigtemp 0, temp 1;int len input.Length;for (int i len - 1; i > 0; i--){if (i ! len - 1)temp * bs;long num changeDec(input[i]);…

Oracle Cloud Native Framework推出云原生解决方案

摘要&#xff1a;Oracle Cloud Native Framework云原生平台提供托管云服务和本地软件&#xff0c;同时在现Oracle云基础架构上跨应用程序配置和分析大量服务。developer relations for Oracle Cloud Infrastructure副总裁Bob Quillin讨论了该框架的优势以及对2019年云原生市场的…

OpenMP知识点汇总

1. OpenMP(Open Multi-Processing)官网&#xff1a;http://openmp.org/wp/ 2. OpenMP最新版本4.0&#xff0c;2013年7月发布。Visual Studio 2010内置支持OpenMP2.0&#xff0c;选中工程属性->C/C->Language->Open MP Support:选中Yes(/openmp)即可&#xff0c;然后在…

chsop 兼容jquery(解决与transport.js冲突)

2019独角兽企业重金招聘Python工程师标准>>> $(function() { window.__Object_toJSONString Object.prototype.toJSONString; delete Object.prototype.toJSONString; }); 要用到jquery的页面放入此代码即可 转载于:https://my.oschina.net/netmouse/blog/1241…

进程详细剖析(二)

摘自《C多核高级编程》 5.6.3 进程状态 在进程执行期间&#xff0c;它的状态会发生改变。进程的状态时指进程的当前状况。在POSIX兼容的环境中&#xff0c;进程可以处于以下状态&#xff1a; 1&#xff09;运行&#xff08;running&#xff09; 2&#xff09;就绪(runnable, r…

AI算力需求6年增长30万倍,「超异构计算」才能满足下一个10年

今年 3 月&#xff0c;「强化学习教父」Richard Sutton 在《苦涩的教训》一文中指出&#xff0c;「70 年的人工智能研究史告诉我们&#xff0c;利用计算能力的一般方法最终是最有效的方法。要在短期内有所提升&#xff0c;研究人员要利用专门领域的人类知识。但如果想要长期的获…

一览六月最热的5篇AI技术论文

作者 | 神经小姐姐转载自HyperAI超神经&#xff08;ID: HyperAI&#xff09;导语&#xff1a;始建于 1991 年的 arXiv.org 至今已收录超过 100 万篇论文预印本&#xff0c;近年来&#xff0c;其每月提交量已经超过 1 万篇。这里成为一个巨大的学习宝库。本文罗列了 arXiv.org 上…

OnCheckedChanged的触发需要AutoPostBack=true

OnCheckedChanged的触发需要AutoPostBack"true"

OpenCV中resize函数五种插值算法的实现过程

最新版OpenCV2.4.7中&#xff0c;cv::resize函数有五种插值算法&#xff1a;最近邻、双线性、双三次、基于像素区域关系、兰索斯插值。下面用for循环代替cv::resize函数来说明其详细的插值实现过程&#xff0c;其中部分代码摘自于cv::resize函数中的源代码。 每种插值算法的前…