目录
前言
这里提供两个安装Opencv的cuda版本的方法,推荐使用第一个安装预编译版本的方法,但对cuda,python的版本均有限制;第二个编译的方法博主并未成功,但也可以尝试一下。
方法一:下载预编译版本的Opencv
1. 进入以下网站:Download pre-built OpenCV CUDA Python wheels and shared libraries.Download the latest pre-built OpenCV CUDA Python wheels and shared libarieshttps://www.jamesbowley.co.uk/qmd/downloads.html 2. 点击opencv python wheels那个链接,第二个是C++版本的
3. 根据你的cuda和cudnn版本去下载对应的opencv,下载whl文件(若未安装cuda和cudnn可以去参考其他博客进行安装)
4. 打开miniconda3或者annaconda,运行以下命令(在你的虚拟环境中已经安装了numpy):
首先激活你的环境,再移动到你下载whl文件的路径,切换盘符,最后用pip install 命令安装
conda activate egohos
cd E:\tool\opencv-gpu
e:
pip install opencv_contrib_python_rolling-4.9.0.80-cp37-abi3-win_amd64.whl
5. 验证安装,在python中运行以下代码:
import cv2
print("OpenCV version:", cv2.__version__)
print("CUDA devices:", cv2.cuda.getCudaEnabledDeviceCount())
输出如下:
方法二:编译Opencv
1. 下载并安装Visual Studio,通过Visual Studio Installer安装C++工具集。
2. 在网站Download CMake中安装cmake
3. 在opencv/opencv: Open Source Computer Vision Library中下载Opencv源码
4.在opencv/opencv_contrib: Repository for OpenCV's extra modules下载opencv_contrib
5.打开cmake,配置编译选项
第一个路径是你的opencv的下载路径,第二个是你希望编译保存的路径,在左下角点击Configure。
选择对应vs的版本(博主是vs2022),系统选择x64,最后点右下角Finish,显示Configuring done。
然后会出现如下界面:
若安装到默认环境(base)不需要执行以下步骤。在search框中搜索PYTHON3,将路径均改为虚拟环境的路径。
搜索cuda,全部勾选(这里就不给出参考图了)
Search搜索框搜索OPENCV_EXTRA_MODULES_PATH,添加解压的opencv_contrib中的modules的路径
再搜索并勾选OPENCV_ENABLE_NONFREE选项和build_opencv_world选项。
必须勾选BUILD_opencv_python3选项。完成后点Configuring。
将CUDA_ARCH_BIN显卡算力内容改成自己显卡的算力。CUDA GPUs - Compute Capability | NVIDIA Developer,删除小于自己显卡算力的部分,再搜索并勾选ENABLE_FAST_MATH选项,点击Configure。
如果报Nvidia video codec SDK的错误,取消勾选WITH_NVCUVID和WITH_NVCUVENC
6. 打开你的build目录,找到OpenCV.sln文件,用visual studio打开该文件,如下图所示设置:
点开CMakeTargets文件夹,右键ALL_BUILD文件点击生成
编译完成后,按同样的步骤编译INSTALL文件
build\lib\python3\Release文件夹下可以看到.pyd文件
在虚拟环境中,路径Lib\site-packages下找到cv2文件夹,点开config.py文件
将路径改为build中生成的install路径(注意要用正斜杠),如下图所示:
最后,在python下测试安装:
import cv2
print("OpenCV version:", cv2.__version__)
print("CUDA devices:", cv2.cuda.getCudaEnabledDeviceCount())