【OpenCV3】Ubuntu16.04/18.04下安装最新版OpenCV3.4.13

1. 下载OpenCV和OpenCV-contrib

  • 注意:下面两个需要下载同一版本。
  • 下载OpenCV:OpenCV官网,选择source下载。
  • 下载OpenCV-contrib:OpenCV-contrib,选择zip下载。

2. 安装依赖包

sudo apt-get update
sudo 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-dev
sudo apt-get install pkg-config
  • 若报错如下:
XXX@XXX:~/Files/opencv-3.1.0$ sudo apt-get install libjasper-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libjasper-dev
  • 执行:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

3. 安装opencv和opencv_contrib

3.1 解压

sudo unzip opencv-3.4.13.zip
sudo unzip opencv_contrib-3.4.13.zip

3.2 将解压后的contrib文件移动至opencv-3.4.13文件下

sudo cp -r opencv_contrib-3.4.5 opencv-3.4.5

3.3 在opencv-3.4.5文件夹中新建build文件夹用于后续编译和生成

cd opencv-3.4.5                               #进入opencv文件夹
sudo mkdir build                              #建立build文件夹方便后续操作

3.4 进入bulid文件夹并进行第一次cmake

cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.13/modules -DOPENCV_ENABLE_NONFREE=True ..
  • 这步可能会卡在IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz,附上手动下载链接:ippicv_2020_lnx_intel64_20191018_general.tgz
    在“/opencv3.4.13/3rdparty/ippicv/ippicv.cmake”注释掉第 16 行,添加一行:

    set(OPENCV_ICV_NAME "file:///home/自己的用户名/下载/ippicv_2020_lnx_intel64_20191018_general.tgz") # 手动添加
    
  • 编译

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

缺少文件
将这些文件下载然后放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
当然,这些文件的下载路径可以在cmake//日志中查看,直接复制其下载地址到网页可以看该到文件的源码,直接拷贝源码并生成同名文件然后放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
或者从百度网盘中下载,然后解压并将这些文件放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
百度云链接:https://pan.baidu.com/s/1I4MhbkhP0Au6na2QZdjpGg
提取码:a2c1

3.5 安装

sudo make install

报错如下:
在这里插入图片描述
解决方法:
百度云链接:https://pan.baidu.com/s/1bN1iXJZbA7Fx59rUhnGYiw 密码:wjl1
放到ippicv文件夹中,再次安装,成功。

4. 测试

  • 进入目录opencv-3.4.6/samples/cpp/example_cmake
cmake .
make
./opencv_example
  • 效果如下:
    在这里插入图片描述
  • 在 Ubuntu16.04 下安装时,测试的时候报错如下:
    ./opencv_example: error while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file: No such file or directory
    
    原因是环境没有配置,Ubuntu18.04下没有出现这个问题,参考解决方案

5. 后续问题

在Ubuntu18.04下python3 import cv2时报错如下:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'

然而使用python2可以正确import,解决方法(清华源):

pip install opencv-python

参考

[1] Ubuntu 18.04.2 下源码安装OpenCV 3.4.6与opencv_contrib-3.4.6笔记
[2] ubuntu 18.04 安装opencv3.4.5+opencv_contrib
[3] 源码编译opencv卡在IPPICV: Download: ippicv_2017u3_lnx_intel64_general_20170822.tgz解决办法
[4] OpenCV编译遇到的一个常见错误-./bin: error while loading shared libraries: libopencv_highgui.so.3.2: cannot open

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇宙爆肝锦标赛冠军

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值