600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Ubuntu18.04安装opencv4.5.1+contrib 支持cuda加速(附带编译好的opencv4.5.1及缺失文件)

Ubuntu18.04安装opencv4.5.1+contrib 支持cuda加速(附带编译好的opencv4.5.1及缺失文件)

时间:2024-03-19 16:10:16

相关推荐

Ubuntu18.04安装opencv4.5.1+contrib 支持cuda加速(附带编译好的opencv4.5.1及缺失文件)

先前准备:

1.最好不要改动ubuntu默认的python2与3的版本,容易出问题。需要选择时用python,python3,python3.x选择即可。

2.ubuntu18.04pc端装机自带的3.x.x版本可以放着不动,不冲突。如果在提前安装了ROS的情况下,用remove完全卸载opencv可能会导致ROS许多文件被删除,慎重。

3.TX2的opencv安装方法同下,TX2刷机自带的opencv4.x.x会被直接覆盖,无需卸载。查询TX2的cudaarchbin需要安装jtop,安装教程可直接在csdn搜索,非常简单。

4. ..- -. .. -. ... - .- .-.. .-.. -....- --- .--. . -. -.-. ...- .--. -.-- - .... --- -. -....- ..-. .. .-. ... -

1.安装教程

第一步

下载opencv与opencv-contrib的源码包,注意版本对应

opencv:/opencv/opencv/releases

opencv-contrib:/opencv/opencv_contrib/releases

第二步

解压opencv与opencv-contrib,并将opencv-contrib文件夹放到opencv文件夹中

第三步

安装依赖

sudo apt-get install build-essential \libavcodec-dev \libavformat-dev \libavutil-dev \libeigen3-dev \libglew-dev \libgtk2.0-dev \libgtk-3-dev \libjpeg-dev \libpostproc-dev \libswscale-dev \libtbb-dev \libtiff5-dev \libv4l-dev \libxvidcore-dev \libx264-dev \qt5-default \zlib1g-dev \libavresample-dev \gstreamer1.0-plugins-bad \pkg-config

其中可能会遇到依赖包libjasper-dev无法安装的问题

使用命令 sudo apt-get install libjaster-dev后

提示:errorE: unable to locate libjasper-dev

解决方法:

sudo add-apt-repository "debIndex of /ubuntuxenial-security main"sudo apt updatesudo apt install libjasper1 libjasper-dev

成功的解决了问题,其中libjasper1是libjasper-dev的依赖包

参照:Ubuntu18.04下安装OpenCv依赖包libjasper-dev无法安装的问题_SDUHXP的博客-CSDN博客_libjasper

第四步:

进入opencv目录下,创建build文件夹(我用的4.5.1)

cd opencv-4.5.1mkdir buildcd build

cmake编译(建议先按照后面重要部分配置完后再进行cmake编译)

cmake -DCMAKE_BUILD_TYPE=RELEASE\-D CMAKE_INSTALL_PREFIX=/usr/local\-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.1/modules\-D WITH_CUDA=1\-D WITH_CUDNN=ON \-D WITH_TBB=ON \-D OPENCV_DNN_CUDA=ON \-D CUDA_ARCH_BIN='7.2'\-D ENABLE_FAST_MATH=1\-D CUDA_FAST_MATH=1\-D WITH_CUBLAS=1\-D BUILD_opencv_python3=ON -DBUILD_opencv_python2=ON\-D WITH_V4L=ON\-D WITH_QT=ON\-D WITH_OPENGL=ON\-D OPENCV_GENERATE_PKGCONFIG=1\-D WITH_GSTREAMER=ON\-D CUDA_GENERATION=Pascal ..

部分编译命令解释:

cmake -DCMAKE_BUILD_TYPE=RELEASE\-D CMAKE_INSTALL_PREFIX=/usr/local\#指定安装路径-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.1/modules\#opencv_contirb modules路径-D WITH_CUDA=1\#使用cuda加速 需要配置好cuda-D WITH_CUDNN=ON\#需要配置好cudnn-D WITH_TBB=ON\-D OPENCV_DNN_CUDA=ON\-D CUDA_ARCH_BIN='7.2'\#指定显卡算力,根据自己的显卡算力填,下面有教程-D ENABLE_FAST_MATH=1\-D CUDA_FAST_MATH=1\-D WITH_CUBLAS=1\-D BUILD_opencv_python3=ON -DBUILD_opencv_python2=ON\-D WITH_V4L=ON\-D WITH_QT=ON\-D WITH_OPENGL=ON\-D OPENCV_GENERATE_PKGCONFIG=1\用于生成opencv4文件,查版本用的-D WITH_GSTREAMER=ON\-D CUDA_GENERATION=Pascal ..

重要部分

以下内容最好在cmake之前提前搞完,因为像face_landmark、boostdesc_bgm.i、vgg、ippv这些文件国内一般会下载失败,需要下载的文件链接放在文章最后。

1.-D CUDA_ARCH_BIN='7.2' 这行编译很重要,不然老是导致opencv配置失败

加了有时候cuda还会报错,可以看这节最后部分的解决方法。

查询自己的显卡算力方式如下:

Ubuntu18 查看CUDA的CUDA_ARCH_BIN_独孤九剑-风清扬的博客-CSDN博客_arch cuda我们在使用源码编译带cuda的opencv时,需要设置显卡的CUDA_ARCH_BIN,本文介绍一下获得该值的方法方法一安装好cuda之后,可以从cuda sample中获得cd /usr/local/cuda/samples/1_Utilities/deviceQuerysudo make./deviceQuery如上,运行后输出信息如下nvidia@nvidia-X10SRA:/usr/local/cuda/samples/1_U../CSS360/article/details/109696878?spm=1001..3001.5506或者常见的显卡直接从图里找:

2.cmake可能会卡在ippicv下载的地方,一直下载不下来

解决方法

a.手动下载ippicv不用解压

b.修改opencv里的配置文件

打开终端,输入:

$ gedit /home/usrname/opencv_path/opencv/3rdparty/ippicv/ippicv.cmake #记得usrname换成自己的用户名,opencv_path 换成自己opencv文件夹的路径#或者直接在opencv里跟着路径3rdparty/ippicv/,直接双击打开ippicv.cmake也行

将ippicv.cmake文件下的第47行替换为本地路径

"file:///home/usrname/install/"#"/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"#file后面的路径换成对应ippicv下载后保存的路径,索引到放ippicv的那个文件夹就行

3.cmake可能会卡在face_landmark_model.dat下载的地方,一直下载不下来。

解决方法

a.手动下载face_landmark_model.dat

b.修改opencv里的配置文件

打开终端,输入:

$ gedit /home/usrname/tool/opencv-4.5.1/opencv_contrib-4.5.1/modules/face/CMakeLists.txt#usrname 换成自己的用户名, <tool/opencv-4.5.1>换成自己opencv源码对应的文件夹#还是对着路径直接进去找快一点

将CMakeLists.txt文件的第19行修改为本地路径,即将原来的网址修改为下载的文件保存的路径

"file:///home/usrname/install/"#"/opencv/opencv_3rdparty/${__commit_hash}/"# usrname记得替换为自己的用户名#路径记得替换为自己文件对应的路径,索引到放face的那个文件夹就行

4.cmake可能会卡在boostdesc_bgm.i下载的地方,一直下载不下来。

解决方法

a.手动下载boostdesc_bgm.i并解压

将下载的文件(不是文件夹)拷贝到opencv_contrib/modules/xfeatures2d/src/目录下

b.修改opencv里的配置文件(改两个)

改boostdesc_bgm.i地址

$ gedit /home/usrname/tool/opencv-4.5.1/opencv_contrib-4.5.1/modules/xfeatures2d/cmake/download_boostdesc.cmake

"file:///home/usrname/install/"#同理跟前面操作一样,找到原来的下载网址,改为本地文件地址,索引到存放的文件夹就行。

改vgg的地址:

$ gedit /home/usrname/tool/opencv-4.5.1/opencv_contrib-4.5.1/modules/xfeatures2d/cmake/download_vgg.cmake

"file:///home/usrname/install/"#同理跟前面操作一样,找到原来的下载网址,改为本地文件地址,索引到存放的文件夹就行。

参考:

2、3步骤:

ubuntu16.04 安装opencv IPPICV 和 face_landmark_model.dat下载不下来的问题解决_csdn330的博客-CSDN博客

4步骤:

Ubuntu系统opencv4.4安装常见问题 找不到 feature2d/test/test_detectors_regression.impl.hpp 文件_小小谢先生的博客-CSDN博客

以上步骤完成后就可以开始编译opencv了,进行第四步的cmake操作。

5.cmake完之后会给一个大致如下图的列表,及得检查:

1.检查一下cuda,cudnn是否检测到了

2.检查cudnn版本是否合适

3.检查NVIDIAGPUarch是否和自己之前输入的CUDA_ARCH_BIN是否一样,CUDA_ARCH_BIN=7.5的话这里应该会显示75。如果显示的数字不匹配,可以参考:Please check CUDA_ARCH_PTX or CUDA_ARCH_BIN in your build configuration错误解决_学术菜鸟小晨的博客-CSDN博客_cuda_arch_ptx在RTX2060显卡的机器上,编译了opencv4.4,报错如下:classes, confidences, boxes = net.detect(image, confThreshold, nmsThreshold)cv2.error: OpenCV(4.4.0) /home/ycc/opencv-4.4.0/modules/dnn/src/dnn.cpp:2353: error: (-216:No CUDA support) OpenCV was not built to work with th/qq_34717531/article/details/108735629?spm=1001..3001.5506

第五步:

进行make,然后等待(pc的话make很快,tx2等板子就要跑很久了,核心太少),make成功后,进行安装。

nproc # 查看核数 sudo make -jx #x是核数,加速编译,也有说x最大可以是核数的两倍的。但是我的1650用j12容易卡死 最后用的j8sudo make install

有时候会在99,100编很多东西,不要着急,出来像上图一样的新命令行NVIDIA...才算完成。

其中make过程中遇到了几个问题:

1.fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory

原因是没找到这个文件,解决方法如下:

opencv / modules / features2d复制,然后粘贴到opencv /build目录中来解决该问题。

2.

第六步:

配置opencv库

首先将OpenCV的库添加到路径,从而可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

/usr/local/lib

保存后退出

然后生效配置文件。

sudo ldconfig

配置bash.bashrc文件

sudo gedit /etc/bash.bashrc

在末尾追加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

保存退出。

执行如下命令使得配置生效:

source /etc/bash.bashrc

更新:

sudo updatedb

至此配置完成

第七步:测试

1.在终端输入代码:

pkg-config --modversion opencv4# 输出 4.5.1python3 -c "import cv2; print(cv2.__version__)"# 输出 4.5.1

2.找到 opencv-4.5.1/samples/cpp/example_cmake 目录下,官方已经给出了一个cmake的example,我们可以拿来测试下。按顺序执行:

mkdir buildcd buildcmake ..make./opencv_example

出现你的摄像头影像,安装完成。

OK大功告成,可以愉快的使用opencv了。

卸载:

在opencv/build里运行

sudo make uninstall

然后把build删了就行,这个方法卸载的不彻底,一般用于编错了重编。

主要参考:

ubuntu20.04 opencv4.5.1+cuda11.0安装全过程_陈阿贝的博客-CSDN博客_cuda opencv ubuntu一、安装包准备(结尾有所有安装包)1.opencv4.5.12.opencv_contrib-4.5.13.cuda4.cuDNN二、安装cuda通过nvidia-smi查看显卡驱动版本以及支持的最大CUDA版本,由下图可见为11.21.官网下载对应版本的runfile文件下载地址2.sudo sh cuda_11.0.2_450.51.05_linux.run3.过程中提示按accept,driver不要安装,别的继续install4.vim ~./bashrc5.在结尾加入ex/m0_37210884/article/details/115660669?ops_request_misc=&request_id=&biz_id=102&utm_term=ubuntu%E5%AE%89%E8%A3%85opencv4.5%E6%94%AF%E6%8C%81cuda&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-115660669.142%5Ev11%5Econtrol,157%5Ev12%5Econtrol&spm=1018.2226.3001.4187

Ubuntu安装opencv4.5(自己安装过程详细)_一盆柠檬的博客-CSDN博客_ubuntu安装opencv1.下载opencv在opencv官网下载source版,下载链接 /releases.html。别下载错版本下载过程就不多说了。2.安装过程2.1解压unzip opencv-4.5.0.zipcd opencv-4.5.02.2安装依赖的库sudo apt-get install cmake sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-/weixin_45629790/article/details/113242250?spm=1001..3001.5506

opencv编译过程中缺少的文件:

opencv编译时缺少的文件-其它文档类资源-CSDN下载包括boostdesc_bgm.i,vgg_generated_48.i,face_landmark更多下载资源、学习资料请访问CSDN下载频道./download/m0_6374/85483791配置好的opencv4.5.1+contrib(build中除了features2d都删除然后重新编译):

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。