作者联系方式:cuijialiang@pku.edu.cn 有问题欢迎来讨论。
【摘要】
OpenCV3的GPU模块需要手动重新编译才可以使用。本文介绍了编译OpenCV3 + GPU模块的方法。
【关键词】OpenCV; GPU; CUDA; 编译器;
【本文使用的操作系统、软件版本】
OS:Windows10 2015.11月更新后
OpenCV 3.0.0
CMake 3.4.0-rc
CUDA v7.5 for windows10 x86_64
Visual Studio 2013 Community
【正文】
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++编程接口。