在现代计算机视觉领域,经常需要处理复杂的任务,如图像处理、目标跟踪、面部检测等。为了帮助轻松完成这些任务,有一些工具框架应运而生。其中两个非常著名的工具是OpenCV和CUDA。
OpenCV是一个编程模块集合,它帮助轻松完成复杂的实时计算机视觉任务。由于其可靠性和开源理念,它已成为最受欢迎的计算机视觉工具之一。
CUDA是一个并行计算工具包,它允许利用Nvidia GPU的强大功能,显著提高应用程序的性能。
James Bowley发表了一篇详细的性能比较,可以在其中看到CUDA对OpenCV的影响。但是,官方的OpenCV二进制文件并不包含GPU支持。要充分利用GPU的全部功能,需要自己构建库。
以下指南将向展示如何编译带有CUDA支持的OpenCV。为了方便起见,已经上传了最新的稳定编译二进制文件。
下载OpenCV CUDA二进制文件
记住:如果下载了二进制文件,请分享这篇文章,帮助其他开发者!
确保计算机具有以下规格:
下载并安装以下软件:
Nvidia CUDA下载页面:
Nvidia cuDNN下载页面:
以下是如何下载并编译带有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打开。
在配置管理器中,选择以下内容:
在解决方案资源管理器中,找到名为INSTALL的项目。右键单击INSTALL项目并选择“构建”。然后,耐心等待Visual Studio构建项目。根据计算机规格,可能需要很多分钟甚至几小时!
编译过程完成后,二进制文件应该在build\install目录下。
现在可以按照官方OpenCV指南,将带有CUDA支持的OpenCV集成到自己的应用程序中!
当使用Visual Studio运行OpenCV项目时,需要在项目属性窗口中添加以下信息:
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二进制文件