1.前言[1]
1.1.为什么要重新编译?
OpenCV3封装了许多可以直接从高层调用的基于GPU计算的方法。但是直接用官网下载的编译好的OpenCV3调用GPU命令会发生 No CUDA support 错误,如下图:
错误描述中说 The library is compiled without CUDA support.
OpenCV需要和CUDA模块一起编译,才可以使用GPU接口。
1.2.What is CUDA
NVIDIA官网 https://developer.nvidia.com/cuda-toolkit 的描述如下:
The NVIDIA® CUDA® Toolkit provides a comprehensive development environment for C and C++ developers building GPU-accelerated applications. The CUDA Toolkit includes a compiler for NVIDIA GPUs, math libraries, and tools for debugging and optimizing the performance of your applications. You’ll also find programming guides, user manuals, API reference, and other documentation to help you get started quickly accelerating your application with GPUs.
CUDA toolkit是NVIDIA的一个驱动包,封装了GPU硬件加速功能,屏蔽了硬件,提供方便调用的C/C++编程接口。[1]
2.CUDA的下载[2]
2.1.到英伟达的官网下载离线或者在线安装包
到英伟达的CUDA官网https://developer.nvidia.com/cuda-downloads(百度一下就可以找到)下载所需要的CUDA版本。需要注意的是,CUDA版本与VS2017的支持有紧密联系。目前CUDA9.2最新的更新支持到了VS2017 15.6,而VS2017已经更新到了15.7.3。因此,请尽量使用较新版本的CUDA。
用Edge的翻译插件机翻一下,exe(网络)就是在线包,exe(本地)就是离线包。根据你的喜好下载。下载后如果出现异常,请对MD5进行校验,官方MD5在“ Installer Checksums(安装程序校验)”。我这边出现过下载不完整,所以提醒一下。
2.2.安装CUDA
安装过程中,如果你已经安装的VS,请选择自定义,并去除勾选Visual Studio Integration,否则会导致安装失败。安装完成后此项无需单独安装(反正单独安装也是失败~)。
官网对此事的相关说明:这不是安装程序的一部分~
本文暂时烂尾,仅介绍CUDA9.2的安装,CUDA9.2和opencv3.4以及contrib模块的下载以及编译见本人另外一篇博文
参考文献:
[1]https://blog.csdn.net/Goerge_L/article/details/79777989
[2]https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
[3]https://cmake.org/download/