65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在 Windows 上使用 CUDA 构建 OpenCV

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.95/5 (4投票s)

2018 年 11 月 2 日

CPOL

3分钟阅读

viewsIcon

19803

这篇文章将向您展示如何在Windows上使用CUDA构建OpenCV。

引言

在计算机视觉领域工作十年,我一直使用流行的应用程序框架来帮助我完成复杂的任务,例如图像处理、目标跟踪、人脸检测等等。

这两个工具是OpenCVCUDA

  • OpenCV是一组编程模块,可以帮助我们轻松完成复杂的实时计算机视觉任务。由于其可靠性和开源理念,它一直是最流行的计算机视觉工具之一。
  • CUDA是一个并行计算工具包,允许我们利用Nvidia GPU的强大功能来显著提高应用程序的性能。

James Bowley已经发布了详细的性能比较,您可以从中看到CUDA对OpenCV的影响。

但是,官方的OpenCV二进制文件并没有开箱即用的GPU支持。要充分发挥GPU的强大功能,您需要自己构建库。

以下指南将向您展示如何编译具有CUDA支持的OpenCV。

为了方便您,我已经上传了最新的稳定编译后的二进制文件。

记住:如果您下载了二进制文件,请分享这篇文章以帮助其他开发者!

系统要求

硬件

确保您的计算机具有以下规格

  • 具有CUDA支持的GPU(在Nvidia 1060上测试)
  • 英特尔酷睿i7 CPU(推荐)

软件

下载并安装以下软件

Nvidia CUDA下载页面

NVidia CUDA 9.1 download page

Nvidia cuDNN下载页面

NVidia CuDNN 7.1 download page

构建/编译OpenCV

这就是如何下载和编译最新版本的具有CUDA支持的OpenCV。

1) 克隆OpenCV

将OpenCV克隆到磁盘上的所需位置

git clone https://github.com/opencv/opencv.git</code>

以我为例

C:\Users\Vangos\Projects\OpenCV</code>

此外,**切换到最新的稳定分支**,例如“3.4”。

OpenCV repository

2) 生成Visual Studio解决方案

继续之前,请确保您的**Path**环境变量包含以下路径

C:\Program Files (x86)\Windows Kits\8.1\bin\x64

Environment Variables - Windows Kits

如果路径未包含,请手动添加。

打开CMD并输入以下命令。将PATH_TO_SOURCE替换为OpenCV安装路径(例如,C:\Users\Vangos\Projects\OpenCV)。

"C:\Program Files\CMake\bin\cmake.exe" -B"PATH_TO_SOURCE\build" 
-H"PATH_TO_SOURCE" -G"Visual Studio 14 2015 Win64" -DBUILD_opencv_world=ON 
-DWITH_CUDA=ON -DCUDA_FAST_MATH=ON -DWITH_CUBLAS=ON -DINSTALL_TESTS=ON 
-DINSTALL_C_EXAMPLES=ON -DBUILD_EXAMPLES=ON

以我为例

"C:\Program Files\CMake\bin\cmake.exe" -B"C:\Users\Vangos\Projects\OpenCV\build" 
-H"C:\Users\Vangos\Projects\OpenCV" -G"Visual Studio 14 2015 Win64" 
-DBUILD_opencv_world=ON -DWITH_CUDA=ON -DCUDA_FAST_MATH=ON -DWITH_CUBLAS=ON 
-DINSTALL_TESTS=ON -DINSTALL_C_EXAMPLES=ON -DBUILD_EXAMPLES=ON</code>

3) 编译!

导航到PATH_TO_SOURCE文件夹并打开build目录。找到OpenCV.sln文件并使用Visual Studio 2015打开它。

在配置管理器中,选择以下内容

  • 活动解决方案配置:Release
  • 活动解决方案平台:x64

Visual Studio Configuration Manager - OpenCV CUDA

在解决方案资源管理器中,找到名为INSTALL的项目。

Visual Studio OpenCV CUDA build/compile

右键单击INSTALL项目并选择“生成”。

然后,请耐心等待Visual Studio构建项目。根据您的计算机配置,这可能需要几分钟甚至几小时!

4) 验证安装

编译过程完成后,二进制文件应位于build\install目录下。

OpenCV CUDA windows binaries

您现在可以按照官方OpenCV指南,并将具有CUDA支持的OpenCV集成到您自己的应用程序中!

使用Visual C++运行OpenCV

使用Visual Studio运行OpenCV项目时,需要在项目属性窗口中添加以下信息

C/C++ → 常规 → 附加包含目录

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include</code>

C:\Users\Vangos\Projects\OpenCV\build\install\include</code>

链接器 → 常规 → 附加库目录

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\lib\x64</code>

C:\Users\Vangos\Projects\OpenCV\build\install\x64\vc14\lib</code>

链接器 → 常规 → 附加依赖项

opencv_world400.lib</code>

cudnn.lib</code>

就是这样!您现在可以使用GPU加速的OpenCV构建的全部功能了。

再说一次,如果您只需要预编译的二进制文件,我已经为您上传了它们。下载之前,请帮个忙,在社交媒体上分享这篇文章。这样,您将帮助其他开发者访问优秀的资源。

那么,您觉得本教程有用吗?您将如何使用具有GPU CUDA支持的OpenCV?请在下面的评论中告诉我!

文章如何在Windows上使用CUDA构建OpenCV 首次出现在Vangos Pterneas上。

© . All rights reserved.