在DOCKER中linux系统编译安装GPU(CUDA)版本opencv4.5.4

目录

1.确认显卡算力

2.选择和算力匹配的CUDA版本

3.选择镜像(强烈建议在docker中编译,不影响物理机环境)

 4.下载opencv安装包

 5.下载opencv_contrib安装包

 6.下载和安装Cmake(请勿用apt install安装)

7.安装依赖

8.解压编译opencv和opencv_contrib


1.确认显卡算力

英伟达显卡算力_WenZhaoYang123468的博客-CSDN博客

举例:

3080显卡,算力8.6

2.选择和算力匹配的CUDA版本

不同版本CUDA支持的算力_WenZhaoYang123468的博客-CSDN博客

举例:

算力8.6,选择CUDA11.1

3.选择镜像(强烈建议在docker中编译,不影响物理机环境)

选择合适的CUDA&cudnn版本镜像,查询网址:https://hub.docker.com/

举例:

此处选择英伟达官方的CUDA11.1-cudnn8.0开发版本镜像

 4.下载opencv安装包

下载网址:Releases - OpenCV

 5.下载opencv_contrib安装包

下载网址:Tags · opencv/opencv_contrib · GitHub

 6.下载和安装Cmake(请勿用apt install安装)

下载网址:Download | CMake

 安装依赖openssl(这个依赖务必安装!)

sudo apt-get install libssl-dev

解压安装

tar -zxvf cmake-3.24.1.tar.gz
./bootstrap
make -j8
sudo make install

查看cmake版本 

cmake --version

如果成功输入版本信息,则编译安装成功

7.安装依赖

sudo apt install build-essential git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev libtbb2 libtbb-dev libdc1394-22-dev liblapack-dev libopenblas-dev checkinstall yasm libpq-dev libeigen3-dev libprotobuf-dev protobuf-compiler libgoogle-glog-dev libgflags-dev libhdf5-dev libgphoto2-dev libgtkglext1-dev libatlas-base-dev libopenblas-dev liblapack-dev liblapacke-dev ocl-icd-opencl-dev libvtk7-dev libboost-all-dev libhdf5-openmpi-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libx264-dev libxvidcore-dev v4l-utils unzip wget libavresample-dev

8.解压编译opencv和opencv_contrib

cd ~/Downloads/opencv-4.5.4
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.4/modules .. \
    -DWITH_CUDA=1 \
    -DCUDA_ARCH_BIN=8.6 \
    -DENABLE_FAST_MATH=1 \
    -DCUDA_FAST_MATH=1 \
    -DWITH_CUBLAS=1 \
    -DOPENCV_GENERATE_PKGCONFIG=1 \
    ..
make -j$(nproc)  # 若只需要动态库,执行到此即可,动态库位于lib文件夹中
sudo make install
sudo ldconfig

注意2个地方:

(1)opencv_contrib的路径;

(2)CUDA_ARCH_BIN修改为自己显卡的算力。

9.常见报错

(1)Please check CUDA_ARCH_PTX or CUDA_ARCH_BIN in your build configuration

原因是:上一步生成的动态库和算力8.6是对应的,如果在其他算力的机器上就会报错。需要重新编译相应算力的动态库。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值