如何在 Windows 上使用 CUDA 构建 OpenCV
这篇文章将向您展示如何在Windows上使用CUDA构建OpenCV。
引言
在计算机视觉领域工作十年,我一直使用流行的应用程序框架来帮助我完成复杂的任务,例如图像处理、目标跟踪、人脸检测等等。
- OpenCV是一组编程模块,可以帮助我们轻松完成复杂的实时计算机视觉任务。由于其可靠性和开源理念,它一直是最流行的计算机视觉工具之一。
- CUDA是一个并行计算工具包,允许我们利用Nvidia GPU的强大功能来显著提高应用程序的性能。
James Bowley已经发布了详细的性能比较,您可以从中看到CUDA对OpenCV的影响。
但是,官方的OpenCV二进制文件并没有开箱即用的GPU支持。要充分发挥GPU的强大功能,您需要自己构建库。
以下指南将向您展示如何编译具有CUDA支持的OpenCV。
为了方便您,我已经上传了最新的稳定编译后的二进制文件。
记住:如果您下载了二进制文件,请分享这篇文章以帮助其他开发者!
系统要求
硬件
确保您的计算机具有以下规格
- 具有CUDA支持的GPU(在Nvidia 1060上测试)
- 英特尔酷睿i7 CPU(推荐)
软件
下载并安装以下软件
- Windows 10操作系统
- Visual Studio 2015 社区版或专业版
- CUDA Toolkit 9.1
- CUDA Toolkit 9.1 Patch 1
- cuDNN 7.1.3
- CMake 3.10.1
构建/编译OpenCV
这就是如何下载和编译最新版本的具有CUDA支持的OpenCV。
1) 克隆OpenCV
将OpenCV克隆到磁盘上的所需位置
git clone https://github.com/opencv/opencv.git</code>
以我为例
C:\Users\Vangos\Projects\OpenCV</code>
此外,**切换到最新的稳定分支**,例如“3.4”。
2) 生成Visual Studio解决方案
继续之前,请确保您的**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</code>
3) 编译!
导航到PATH_TO_SOURCE文件夹并打开build目录。找到OpenCV.sln文件并使用Visual Studio 2015打开它。
在配置管理器中,选择以下内容
- 活动解决方案配置:Release
- 活动解决方案平台:x64
在解决方案资源管理器中,找到名为INSTALL
的项目。
右键单击INSTALL
项目并选择“生成”。
然后,请耐心等待Visual Studio构建项目。根据您的计算机配置,这可能需要几分钟甚至几小时!
4) 验证安装
编译过程完成后,二进制文件应位于build\install目录下。
您现在可以按照官方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上。