许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Ubuntu 18.04安装OpenCV 3.4.5及opencv_contrib扩展模块

Ubuntu 18.04安装OpenCV 3.4.5及opencv_contrib扩展模块

阅读数 6
点赞 0
article_banner

ubuntu 18.04 安装opencv3.4.5+opencv_contribUbuntu18.04安装opencv-3.4.5及opencv-contrib 自己也已经安装过很多遍opencv了,自己总结一下吧

安装包下载

注意 opencv与opencv-contrib的版本应该一致

       opencv 下载
opencv官网

      opencv_contrib 下载 github

在这里插入图片描述

在这里插入图片描述这里需要下载opencv的source,opencv_contrib可以下载zip或者tar.gz,但本文下载的是zip
   

安装依赖包sudo apt-get updatesudo apt-get upgrade//依赖包sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev sudo apt-get install qt5-default ccache libv4l-dev libavresample-dev libgphoto2-dev libopenblas-base libopenblas-dev doxygen openjdk-8-jdk pylint libvtk6-devsudo apt-get install pkg-config一键获取完整项目代码bash123456789 在上述依赖库安装完成之后才能开始后续操作。在对上述代码复制时最好一次一句地复制,否则无法安装,终端中会直接跳过,在选择Y/n时无法选择Yes。

可能遇到的问题其中可能遇见无法安装libjasper-dev的问题,类似下面的页面 XXX@XXX:~/Files/opencv-3.1.0$sudo apt-get install libjasper-devReading package lists... DoneBuilding dependency tree Reading state information... DoneE: Unable to locate package libjasper-dev一键获取完整项目代码bash123456 解决方案 sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"sudo apt updatesudo apt install libjasper1 libjasper-dev一键获取完整项目代码bash1234 其中libjasper1是libjasper-dev的依赖包,然后再次安装 sudo apt install libjasper1 libjasper-dev 一键获取完整项目代码bash12

安装opencv和opencv_contrib先解压下载的opencv和opencv_contrib包,建议直接将下载下来的包直接放至home地址下,这样,zip格式的解压代码如下: sudo unzip opencv-3.4.5.zipsudo unzip opencv_contrib-3.4.5.zip一键获取完整项目代码bash123 tar.gz格式解压代码: sudo tar zxvf opencv_contrib-3.4.5.tar.gz 一键获取完整项目代码bash12 然后将解压后的contrib文件移动至opencv-3.4.5文件下 sudo cp -r opencv_contrib-3.4.5 opencv-3.4.5 一键获取完整项目代码bash12 并在opencv-3.4.5文件夹中新建build文件夹用于后续编译和生成。 cd opencv-3.4.5 #进入opencv文件夹sudo mkdir build #建立build文件夹方便后续操作一键获取完整项目代码bash123 进入bulid文件夹并进行第一次cmake cd buildsudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv-3.4.5/opencv_contrib-3.4.5/modules/ -D OPENCV_ENABLE_NONFREE=True ..一键获取完整项目代码bash123 注意**-DOPENCV_ENABLE_NONFREE=True**别把-D与OPENCV_ENABLE_NONFREE=True分开,这句就是使用nonfree模块,包括sift等有专利权的模块。 注意后面的两点不可省略,代表其他参数默认。 注意 OPENCV_EXTRA_MODULES_PATH 代表你放置opencv_contrib的modules文件夹的真实地址,如果直接将opencv放在home下那地址与上述参数相同,只需要注意版本号即可。

可能遇到的问题ippicv和face_landmark_model.dat下载失败的解决方案

1 先下载文件

,文件的下载地址可以在提示文件//中找到,直接去该地址下载。或者用百度云下载,链接

       链接:
ippcv 提取码:wjl1

      链接:fippicv和face_landmark_model.dat提取码:wjl1

2 修改相应的文件打开

自己的地址/opencv-3.4.5/3rdparty/ippicv/ippicv.cmake

做以下修改。 将ippicv.cmake文件下的第47行替换为本地路径

"改为相应地址"           #本地路径,与你自己下载存放的地址相关#"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" #原下载地址#记得改为本地ippcv的地址

更改完ippicv之后,再更改face_landmark_model配置文件,方法大致相同

      同样打开


/本地地址/opencv-3.4.5/opencv_contrib-3.4.5/modules/face/CMakeLists.txt

然后将CMakeLists.txt文件的第19行修改为本地路径,即将原来的网址修改为下载的文件保存的路径。这个行数不定,与文件相关,主要是找到网址地址。

"本地地址"     #本地路径,与你自己下载存放的地址相关#"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/" #原下载地址# 记得改为本地face_landmark_model.dat的地址

这样, ippicv和face_landmark_model.dat下载失败的问题就得以解决。

      生成完毕后会生成如下的类似界面

--   Install path:                  /usr/local-- --   cvconfig.h is in:              /home/files/opencv-3.4.5/build-- ------------------------------------------------------------------- -- Configuringdone-- Generating done-- Build files have been written to: /home/files/opencv-3.4.5/build

然后进行make

sudo make -j8   #j后面的数字代表用几个线程编译,此为8线程

然后大概率会出现以下错误

      fatal error: boostdesc_bgm.i: vgg_generated_80. vgg_generated_120.i没有那个文件或目录

这个问题是一堆文件的缺失,包括

       boostdesc_bgm.i

       boostdesc_bgm_bi.i

       boostdesc_bgm_hd.i

       boostdesc_lbgm.i

       boostdesc_binboost_064.i

       boostdesc_binboost_128.i

       boostdesc_binboost_256.i

       vgg_generated_120.i

       vgg_generated_64.i

       vgg_generated_80.i

       vgg_generated_48.i

       所以只需要将这些文件下载然后放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。

       当然,这些文件的下载路径可以在cmake//日志中查看,直接复制其下载地址到网页可以看该到文件的源码,直接拷贝源码并生成同名文件然后放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。

       或者从百度网盘中下载,然后解压并将这些文件放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
链接

      密码: a2c1这些问题解决之后,还会遇见最后一个问题,就是opencv的stitiching模块中对xfeatures2d的调用地址问题。

在这里插入图片描述opencv安装opencv_contrib出现无法打开包括文件: “opencv2/xfeatures2d/cuda.hpp”的解决方法:

     这里比较简单的就是直接改掉头文件
   

解决办法: 在CMakeLists.txt增加以下内容: INCLUDE_DIRECTORIES("/works/opencv-3.4.0/opencv_contrib-3.4.0/modules/xfeatures2d/include") CMakeLists.txt文件所在路径为: <你的路径>/opencv-3.4.0/modules/stitching/ CMakeLists.txt 

解决完这些错误,可以继续


sudo make -j8

在这里插入图片描述只要成功到达100即为成功

sudo make install

到达这一步opencv安装成功

配置环境变量打开文件 sudo gedit /etc/ld.so.conf.d/opencv.conf 一键获取完整项目代码bash12 在空白文档中添加 /usr/local/lib一键获取完整项目代码bash1 接下来配置库 sudo ldconfig 一键获取完整项目代码bash12 更改环境变量 sudo gedit /etc/bash.bashrc 一键获取完整项目代码bash12 在文件的最后添加 export PKG_CONFIG_PATH=/usr/local/opencv/lib/pkgconfig export LD_LIBRARY_PATH=/usr/local/opencv/lib 一键获取完整项目代码bash123

测试使用qt ,这个比较简单,也方便 如图,需要注意以下pro文件的写法。 运行成功打开摄像头即为成功


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空