如何使用opencv的gpu模块.docx

上传人:b****5 文档编号:2886050 上传时间:2022-11-16 格式:DOCX 页数:14 大小:988.58KB
下载 相关 举报
如何使用opencv的gpu模块.docx_第1页
第1页 / 共14页
如何使用opencv的gpu模块.docx_第2页
第2页 / 共14页
如何使用opencv的gpu模块.docx_第3页
第3页 / 共14页
如何使用opencv的gpu模块.docx_第4页
第4页 / 共14页
如何使用opencv的gpu模块.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

如何使用opencv的gpu模块.docx

《如何使用opencv的gpu模块.docx》由会员分享,可在线阅读,更多相关《如何使用opencv的gpu模块.docx(14页珍藏版)》请在冰豆网上搜索。

如何使用opencv的gpu模块.docx

如何使用opencv的gpu模块

如何使用opencv的gpu模块

Email:

zhangping_bnu@

Blog:

 

本文主要讲述如何使OpenCV支持CUDA高速运算,有问题可以发邮件。

   我们将要使用的工具除了常规编译方式使用的工具外,还要使用CUDAtookit和GPUComputingSDK,如本人使用的版本分别为cudatoolkit_4.2.9_win_64.msi和gpucomputingsdk_4.2.9_win_64.exe(我的电脑是64位系统),相关文件可以从官网下载。

    下载完成后并安装,确保CUDASDK的bin目录(“C:

\ProgramData\NVIDIACorporation\NVIDIAGPUComputingSDK4.2\C\common\bin”)已经添加到环境变量中后,我们就开始编译支持CUDA高速运算的OpenCV。

一、生成项目文件

    1.首先,我们将预使用的OpenCV-win源代码放置到指定目录

  我在“C:

\ProgramFiles”目录下新建一个“OpenCV”目录,并在里面新建一个src目录并将OpenCV-win源码放置到该文件夹,目录结构如图1所示:

图1C:

\ProgramFiles\OpenCV\src内的目录结构

2.下载并安装配置inteltbb

  这里我把inteltbb解压后的文件夹放置到“C:

\ProgramFiles”目录下(如图2所示),然后将inteltbb的bin目录添加到系统环境变量,在桌面上右击“计算机”,选择“属性-高级系统设置”,进入“高级”选项卡,“环境变量-系统变量”,如图3所示:

图2tbb40_20120408oss内的目录结构

图3系统环境变量

   编辑“Path”变量,在最后添加inteltbb的bin(注意要深入到最内层目录,如Visual2005的话应该为“C:

\ProgramFiles\tbb40_20120408oss\bin\ia32\vc8”,VisualStudio2008应为“C:

\ProgramFiles\tbb40_20120408oss\bin\ia32\vc9”)目录所在全路径。

如我应该添加如下变量:

“C:

\ProgramFiles\tbb40_20120408oss\bin\ia32\vc8”,这里要注意的是变量之间是以分号“;”分隔的(玩过Linux的都知道Linux下系统变量之间是以冒号“:

”分隔的)。

   修改完系统环境变量后,为使环境变量生效,需要注销一下电脑,或者重启“explorer.exe”进程即可,这里不过多赘述。

3.安装cmake,并生成项目文件

  安装完cmake后,运行cmake,如图4所示,然后单击“Whereisthesourcecode:

”右侧的“BrowseSource”,浏览到“C:

/ProgramFiles/OpenCV/src”文件夹,单击“wheretobuildthebinaries:

”右侧的“BrowseBuild”,浏览到“C:

/ProgramFiles/OpenCV/vs2008”文件夹(vs2008文件夹是我自己创建的)。

图4配置源代码和生成目录

   然后单击左下方的“Configure”按钮,这时会弹出“cmake-gui”窗口,在“Specifythegeneratorforthisproject”下拉菜单选择“VisualStudio82005”、“Usedefaultnativecompilers”后,单击“Finish”按钮,如图5所示。

图5生成项目类型选择

完成以上操作后的cmake界面如图6所示,这里勾选“BUILD_EXAMPLES”和“WITH_TBB”,“BUILD_EXAMPLES”、“CUDA_BUILD_CBUIN”、“CUDA_VERBOSE_BUILD”、“WITH_TBB”和“WITH_CUBLAS”、“WITH_CUDA”,注意这里千万不要勾选“CUDA_BUILD_EMULATION”选项

选项后单击“Configure”按钮后,“TBB_INCLUDE_DIRS”选项显示为红色,此处为cmake找不到inteltbb的包含文件所致。

图6勾选“BUILD_EXAMPLES”和“WITH_TBB”选项

  将inteltbb里面的include文件夹路径(注意是include,不是include里面的子文件夹)定位到该配置属性的路径里,如图7所示。

图7配置inteltbb包含目录

   再次点击Configure按钮,在TBB_LIB_DIR处又会出现红色一行,此处为inteltbb的库文件位置,此处必须将路径定位到含有LIB文件的位置,比如我的安装位置是“C:

/ProgramFiles/tbb40_20120408oss/lib/ia32/vc8”,也就是说,在lib文件夹下会有子文件夹,必须定位到子文件夹对应的vc版本文件夹里去,这里由于我们是以VisualStudio2005为例进行编译,所以我们选择vc8文件夹,ia32子文件夹是32位系统,此处应根据对应操作系统选择,如图8所示。

图8配置inteltbb库文件目录

然后,我们再次点击Configure,此时所有红色行已经变为白色,同时在下方的信息里面会有一条为“UseTBB:

YES”的字样,证明我们已经将inteltbb配置完毕。

同时:

  在下方的信息我们会看到如下信息:

 

[plain] viewplaincopy

1.Other third-party libraries:

  

2.  Use IPP:

                     NO  

3.  Use TBB:

                     YES (ver 4.0 interface 6004)  

4.  Use Cuda:

                    YES (ver 4.2)  

5.  Use Eigen:

                   NO  

6.  

7.NVIDIA CUDA:

                   (ver 4.2)  

8.  Use CUFFT:

                   YES  

9.  Use CUBLAS:

                  YES  

10.  NVIDIA GPU arch:

             11 12 13 20 21  

11.  NVIDIA PTX archs:

            11 12 13 20 21  

12.  NVIDIA GPU features:

         11 12 13 20 20 20  

 

    特别注意,有两条为“Use TBB:

YES(ver4.0interface6004)”和“Use Cuda:

YES(ver4.2)”的字样,证明我们已经将inteltbb和CUDA正确配置。

  

最后点击Generate,下方的信息里面会有一条为“Generatingdone”的字样(如图10所示),而且我们已经成功生成项目文件(如图11所示)。

图10“Generatingdone”

 

图11成功生成项目文件

四、编译生成目标文件

   完成后在刚创建的子文件夹C:

\ProgramFiles\OpenCV\vs2005下会出现一个vs2005的解决方案文件OpenCV.sln,双击打开后,出现OpenCV2.4的所有工程项目,先不要着急编译。

1.VisualStudio2005/2008

(1)配置VC++目录

   说明:

由于本部分VisualStudio2005/2008和VisualStudio2010不太相同,这里我分别讲述VisualStudio2005和VisualStudio2010使用第一节中生成的项目文件编译生成目标文件。

(a)VisualStudio2005/2008下配置VC++目录

   依次选择“工具-选项-项目和解决方案-VC++目录”(注意平台选择的是Win32),如图11所示。

图11VC++目录

   依次添加inteltbb可执行路径、包含目录和库目录,这里的可执行路径与cmake前面cmake生成项目文件时的库目录类似,包含目录和库目录与前面cmake生成项目文件时的包含目录和库目录相同。

如这里vs2005的可执行路径为“C:

\ProgramFiles\tbb40_20120408oss\bin\ia32\vc8”,包含目录为“C:

\ProgramFiles\tbb40_20120408oss\include”,库目录为“C:

\ProgramFiles\tbb40_20120408oss\lib\ia32\vc8”。

   配置完成后,单击“确定”按钮。

(b)VisualStudio2010下配置VC++目录

   将选项卡切回到“属性管理器”,展开“ALL_BUILD-Debug|Win32-Microsoft.Cpp.Win32.user”后,右击选择“属性-通用属性-VC++目录”,如图12所示:

图12VC++目录

同样的,依次添加inteltbb可执行路径、包含目录和库目录,这里的可执行路径与cmake前面cmake生成项目文件时的库目录类似,包含目录和库目录与前面cmake生成项目文件时的包含目录和库目录相同。

如这里vs2010的可执行路径为“C:

\ProgramFiles\tbb40_20120408oss\bin\ia32\vc10”,包含目录为“C:

\ProgramFiles\tbb40_20120408oss\include”,库目录为“C:

\ProgramFiles\tbb40_20120408oss\lib\ia32\vc10”。

配置完成后,单击“确定”按钮。

(2)生成调试模式库

   将选项卡切回到“解决方案资源管理器”,将编译模式切换为Debug模式,右键单击“解决方案OpenCV”,选择“重新生成解决方案”,这里我们可以依次选择“视图-其他窗口-错误列表”(vs2010为“视图-错误列表”)以观察编译过程是否有错误或者警告,有警告信息并不妨碍编译OpenCV,如图13所示。

图13选择Debug模式,“重新生成解决方案”

编译完成后再右键单击INSTALL项目,选择“生成”,如图14所示。

图14生成调试模式库

(3)生成发行模式库

   将编译模式切换为Release模式(如图15所示),重复Debug模式下的步骤。

完成后在你的解决方案文件夹“C:

\ProgramFiles\OpenCV\vs2005”里面会生成install目录,该目录下包含我们编程时需要的可执行文件、包含文件和库文件等。

图15选择Release模式,重新生成解决方案

特别注意:

一定不要忘记右键单击INSTALL项目,选择“生成”。

五、整理目录

   上面我们将OpenCV-2.4.0分别编译成vs2005、vs2008(由于这个操作与vs2005完成相同,上文略去)和vs2010(与vs2005操作相同部分略去)目标文件,为使我们编译的目标文件与OpenCV官方网站发布的build目录结构相同。

我们要进行如下操作:

1.新建一个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1