安装支持cuda的OpenCV过程记录

版本号

nvidia driver : 470
cuda : 11.0
cudnn : 8.0.1(对应cuda就好)
OpenCV: 4.5
这里安装的是C++版本,如果是安装python或者在虚拟环境下安装,可以参考这个更全的记录:https://waltpeter.github.io/open-cv-basic/install-opencv-with-contrib-ubuntu/index.html

安装过程

之前安装了opencv4.5版本,但是没有安装contrib库,也没有打开支持gpu的按钮。所以先卸载当前opencv版本再重新安装一下。

一. 卸载当前opencv

找到之前装opencv的build文件夹,进入后执行卸载指令

sudo make uninstall

然后再把之前留在usr文件夹里的剩余文件都删掉。我之前直接按照官网说明安装的,所以东西都在usr/local/

//需要根据自己的情况修改
sudo rm -r /usr/local/include/opencv4  /usr/local/share/opencv4 /usr/local/lib/libopencv*

二. 安装新的opencv版本

安装依赖

大部分应该都已经有了

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libv4l-dev libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran

下载安装包

这里没有太多可说的,把同一个版本号的opencv_contrib文件夹放进opencv文件夹。

查看显卡型号

向终端输入指令,查看显卡型号。我这里的是GeForce MX250

lspci | grep -i nvidia

然后再去nvidia官网确定自己GPU的cuda算力版本,找不到的话可以看cuda的wiki。 MX250的算力版本是6.1,这个之后编译opencv的时候要用
官网(比较新的型号很好找):https://developer.nvidia.com/cuda-gpus#compute
WIki(感觉更全更好检索):https://en.wikipedia.org/wiki/CUDA

安装opencv

注意下面的CUDA_ARCH_BIN就是要写你电脑对应的算力版本。WITH_CUDAWITH_CUDNN项指的是用CUDA和cuDNN。OPENCV_DNN_CUDA项表示要编译后的dnn模块支持CUDA。ENABLE_FAST_MATH, CUDA_FAST_MATHWITH_CUBLAS项是为了优化运算而开启的。

cmake -D CMAKE_BUILD_TYPE=RELEASE \
	-D CMAKE_INSTALL_PREFIX=/usr/local \
	-D INSTALL_C_EXAMPLES=OFF \
	-D OPENCV_ENABLE_NONFREE=ON \
	-D WITH_CUDA=ON \
	-D WITH_CUDNN=ON \
	-D OPENCV_DNN_CUDA=ON \
	-D ENABLE_FAST_MATH=1 \
	-D CUDA_FAST_MATH=1 \
	-D CUDA_ARCH_BIN=6.1 \
	-D WITH_CUBLAS=1 \
	-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
	-D BUILD_EXAMPLES=ON ..

注意检查这一段:

--   NVIDIA CUDA:                   YES (ver 11.0, CUFFT CUBLAS FAST_MATH)
--     NVIDIA GPU arch:             61
--     NVIDIA PTX archs:
-- 
--   cuDNN:                         YES (ver 8.0.5)

没有问题了就执行

make

### Ubuntu系统中为Python安装支持GPU的OpenCV库 #### 1. 更新软件包列表并安装依赖项 为了确保系统的软件包是最新的,在开始之前应该更新软件包列表,并安装一些必要的开发工具和库。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev \ python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev \ libtiff-dev gfortran openexr libatlas-base-dev \ cuda-cudart-11-0 cuda-nvrtc-11-0 libcudnn8-dev ``` 上述命令会安装构建OpenCV所需的大部分依赖关系以及CUDA和cuDNN的支持[^1]。 #### 2. 创建Anaconda虚拟环境(可选) 如果希望在一个隔离环境中运行项目,则可以创建一个新的Conda环境来管理依赖: ```bash conda create -n opencv_gpu_env python=3.9 source activate opencv_gpu_env ``` 这一步不是强制性的,但是强烈建议这样做以便更好地控制项目的依赖版本[^2]。 #### 3. 编译安装OpenCV源码 下载指定版本的OpenCV源代码压缩文件到本地计算机上解压后进入目录执行如下操作: ```bash cd ~/Downloads/ wget https://github.com/opencv/opencv/archive/refs/tags/4.5.0.zip unzip 4.5.0.zip mv opencv-4.5.0 ~/ rm 4.5.0.zip cd ~/opencv-4.5.0/ mkdir build cd build cmake .. make -j$(nproc) sudo make install ``` 对于想要启用GPU加速功能的情况,`cmake ..` 前面还需要加上额外参数以开启相应的选项。具体来说就是修改成这样子的形式: ```bash cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON \ -D WITH_CUDA=ON \ -D CUDA_ARCH_BIN="7.5" \ # 根据自己的显卡架构调整此值 -D WITH_CUDNN=ON \ .. ``` 请注意替换 `OPENCV_EXTRA_MODULES_PATH` 的路径为你实际存放扩展模块的位置;同时也要注意设置合适的 `CUDA_ARCH_BIN` 参数匹配你的硬件设备特性。 完成以上步骤之后就可以正常使用带有GPU加速特性的Python版OpenCV了!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值