如何编译带有CUDA支持的OpenCV

在现代计算机视觉领域,经常需要处理复杂的任务,如图像处理、目标跟踪、面部检测等。为了帮助轻松完成这些任务,有一些工具框架应运而生。其中两个非常著名的工具是OpenCV和CUDA。

OpenCV是一个编程模块集合,它帮助轻松完成复杂的实时计算机视觉任务。由于其可靠性和开源理念,它已成为最受欢迎的计算机视觉工具之一。

CUDA是一个并行计算工具包,它允许利用Nvidia GPU的强大功能,显著提高应用程序的性能。

James Bowley发表了一篇详细的性能比较,可以在其中看到CUDA对OpenCV的影响。但是,官方的OpenCV二进制文件并不包含GPU支持。要充分利用GPU的全部功能,需要自己构建库。

以下指南将向展示如何编译带有CUDA支持的OpenCV。为了方便起见,已经上传了最新的稳定编译二进制文件。

下载OpenCV CUDA二进制文件

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

系统要求

确保计算机具有以下规格:

  • 支持CUDA的GPU(在Nvidia 1060上测试)
  • 推荐使用Intel Core i7 CPU

下载并安装以下软件:

  • Windows 10操作系统
  • Visual Studio 2015 Community或Professional
  • CUDAToolkit 9.1
  • CUDA Toolkit 9.1 Patch 1
  • cuDNN 7.1.3
  • CMake 3.10.1

Nvidia CUDA下载页面:

Nvidia cuDNN下载页面:

构建/编译OpenCV

以下是如何下载并编译带有CUDA支持的最新版本的OpenCV的方法。

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

git clone https://github.com/opencv/opencv.git

在例子中:

C:\Users\Vangos\Projects\OpenCV

同时,切换到最新的稳定分支,例如“3.4”。

在继续之前,请确保Path环境变量包含以下路径:

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

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

打开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

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

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

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

在解决方案资源管理器中,找到名为INSTALL的项目。右键单击INSTALL项目并选择“构建”。然后,耐心等待Visual Studio构建项目。根据计算机规格,可能需要很多分钟甚至几小时!

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

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

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

  • C/C++ → 常规 → 附加包含目录
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include
  • 和:
  • C:\Users\Vangos\Projects\OpenCV\build\install\include
  • 链接器 → 常规 → 附加库目录
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\lib\x64
  • 和:
  • C:\Users\Vangos\Projects\OpenCV\build\install\x64\vc14\lib
  • 链接器 → 常规 → 附加依赖项
  • opencv_world400.lib
  • 和:
  • cudnn.lib

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

再次提醒,如果只是想要预编译的二进制文件,已经为上传了。在下载之前,请帮一个忙,在社交媒体上分享这篇文章。这样,将帮助其他开发者获取到这些资源。

下载OpenCV CUDA二进制文件

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485