Windows安装Opencv-GPU版本

目录

前言

方法一:下载预编译版本的Opencv

方法二:编译Opencv

前言

        这里提供两个安装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())
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值