在开始之前,请确保Windows电脑已经安装了以下软件:
- Visual Studio(包含Desktop development with C++工作负载)
- CMake
- Git(克隆OpenCV源代码)
- CUDA Toolkit(CUDA支持)
- Python环境(建议使用Miniforge,包含NumPy)
众所周知,opencv可以通过pip一键安装预编译版本的
pip install opencv-python
或者安装具有额外模块(如视频处理、图像处理等)的OpenCV版本
pip install opencv-python-headless
但是官方提供的预编译版本并不支持cuda的加速,想知道自己的版本是否支持cuda可以用python运行以下命令
import cv2
print("opencv version is:")
print(cv2.__version__)
if cv2.cuda.getCudaEnabledDeviceCount() > 0:
print("CUDA support is enabled.")
else:
print("CUDA support is not enabled.")
我之前也是安装了官方提供的预编译版本,不支持cuda加速,会输出
如果支持cuda加速应该输出
所以我们需要从opencv官方提供的源代码来编译后安装,首先:
下载源代码
-
克隆OpenCV和opencv_contrib的源代码:
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
或者手动去GitHub - opencv/opencv: Open Source Computer Vision Library和GitHub - opencv/opencv_contrib: Repository for OpenCV's extra modules下载源代码,下载完成后将源代码放置在你喜欢的目录下,例如我这里:
D:\AI\opencv-cuda\opencv-4.x
D:\AI\opencv-cuda\opencv_contrib-4.10.0
然后在你喜欢的位置创建一个名为build的文件夹,我的这里在
D:\AI\opencv-cuda\opencv_contrib_cuda_4.10.0_win_amd64\build
然后打开cmd,cd到你的build文件夹下,并启用虚拟环境,我这里是
cd D:\AI\opencv-cuda\opencv_contrib_cuda_4.10.0_win_amd64\build
conda activate MMD311
然后运行 vcvars64.bat
脚本以配置Vis