ubuntu20.04安装opencv4.4.0和opencv contrib 4.4.0

不得不说,玩转ubuntu真是一道道坎,不论是ROS还是OpenCV,都很容易卡在安装,最大的问题是需求文件下载不下来(被墙了)

1、源码下载

官网和github分别下载opencv,解压后放在同一个文件夹(网上有坑),最好改名一个为opencv,一个为opencv_contrib,编译的时候很多都没带版本号,并在同级再建一个build文件夹,这三个文件夹我放在了~/opencv;
在这里插入图片描述

2、更新系统及必要的包

 sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
 sudo apt update
 sudo apt-get install build-essential
 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libopenexr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
 sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
 sudo apt update
 sudo apt-get install python-dev-is-python3 python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-22-dev

3、cmake编译参数

复制下面代码到txt,修改好再复制到终端执行(在buid文件夹下执行)

cmake ../opencv -DCMAKE_BUILD_TYPE=Release \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DOPENCV_EXTRA_MODULES_PATH=/home/your_usr_name/opencv/opencv_contrib/modules -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DWITH_GTK_2_X=ON \
-DWITH_OPENGL=ON

第三行的your_usr_name换成自己的用户名
为什么没定义如下的python安装选项?因为我python用的anaconda虚拟环境,已经装了cv2,让它自己去装吧。
-DPYTHON3_EXECUTABLE=/usr/bin/python3
-DPYTHON_INCLUDE_DIR=/usr/include/python3.8
-DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so
-DPYTHON3_NUMPY_INCLUDE_DIRS=/home/bbnc/.local/lib/python3.8/site-packages/numpy/core/include \

4、卡住

如果没有连接外网,执行过程会卡住,是因为文件下载不下来,等他卡完(一会儿就会跳过结束)这时候,去build文件夹,打开CMakeDownloadLog.txt文件,这里面记录了下载失败的文件,搜索关键词cmake_download,我这里有13个
在这里插入图片描述这些文件想办法下载下来,我放到了百度网盘
链接: https://pan.baidu.com/s/1CKqAYFKbtnF2FW7pQUSS0g
提取码: cfg4
在这里插入图片描述使用方法:ippicv_2020_lnx_intel64_20191018_general.tgz这个文件放在/home/your_usr_name/opencv/opencv/3rdparty/ippicv/文件夹下,并打开该文件夹下的ippicv.cmake文件,修改如下:
在这里插入图片描述
face_landmark_model.dat这个文件放在/home/your_usr_name/opencv/opencv_contrib/modules/face/文件夹,并修改该文件夹下的CMakeLists.txt文件如下:
在这里插入图片描述其余的文件均放在opencv_contrib/modules/xfeatures2d/src/文件夹下

5、make

buid 文件夹下继续执行

make -j8

等报错
然后第一次报错可能就比较奇怪:

make: *** [Makefile:163:all] 错误 2

这时候再执行

make

很快会定位出错的地方,例如下面
在这里插入图片描述
这个就是少了test_detectors_regression.impl.hpp,网上搜索了一下,解决办法:
将opencv / modules / features2d复制,然后粘贴到build目录中。

OK没再出问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值