zoukankan      html  css  js  c++  java
  • Windows7 32位机上,OpenCV中配置GPU操作步骤

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

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

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

    4、  将C:ProgramFilesNVIDIA GPU Computing ToolkitCUDAv5.0in添加到环境变量中;

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

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

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

    8、  打开CMake,在Where isthe source code:中选择D:softOpenCV2.4.6opencv文件夹,在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:softOpenCV2.4.6TBB bb41_20130613ossinclude为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:softOpenCV2.4.6vs2010_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:softOpenCV2.4.6TBB bb41_20130613ossinclude C:Program FilesNVIDIAGPU Computing ToolkitCUDAv5.0includeLibrary DirectoriesD:softOpenCV2.4.6TBB bb41_20130613osslibia32vc10  C:Program FilesNVIDIA GPU ComputingToolkitCUDAv5.0libWin32Executable DirectoriesD:softOpenCV2.4.6TBB bb41_20130613ossinia32vc10  C:Program FilesNVIDIA GPU Computing ToolkitCUDAv5.0in

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

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

    18、             打开vs2010,新建一个控制台应用程序,为vs2010配置OpenCV环境:选择View--> Properties Manager-->分别选中DebugRelease上的Microsoft.Cpp.Win32.user,点击右键-->PropertiesVC++ DirectoriesInclude DirectoriesD:SoftOpenCV2.4.6vs2010_GPUinstallincludeD:SoftOpenCV2.4.6vs2010_GPUinstallincludeopencvD:SoftOpenCV2.4.6vs2010_GPUinstallincludeopencv2Library DirectoriesD:SoftOpenCV2.4.6vs2010_GPUinstalllib

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

    20、               D:softOpenCV2.4.6vs2010_GPUinstallin加入到windows系统环境变量Path中,重启。

    说明:

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

    (2)、其中TBB不是必须的,也可不用安装;

    (3)、为了缩短编译时间,可以通过CMake中改变CUDA_ARCH_BINCUDA_ARCH_PTX值进行设置;

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

    (5)、也可不用管理员身份打开OpenCV.sln

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

    (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

  • 相关阅读:
    python json 访问与字符串截取
    python 12306 车次数据获取
    12306 城市代码 切片技巧
    python 9*9 乘法表
    python 列表转为字典的两个小方法
    python 三种遍历列表里面序号和值的方法
    虚拟机中访问连接在物理机上的摄像机(使用桥接)
    C++程序调用python3
    Notepad++编写运行python程序
    查看进程被哪台电脑的哪个进程连接(netstat)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3246892.html
Copyright © 2011-2022 走看看