Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决

  • Post author:
  • Post category:python


每个人的安装过程可能都会有着不同的问题,我按照网上教程安装过程和心得,希望能够帮助到你。



一、安装准备


1.下载opencv和opencv_contirb

1.1官网链接:



opencv-4.1.1



opencv_contrib-4.1.1



2.安装cmake

1.sudo apt-get install cmake

2.cmake -version


3.安装依赖

> 1.sudo apt-get install build-essential
> 2.sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
> 3.sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 处理图像所需的包 
> 4.sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev  liblapacke-dev 
> 5.sudo apt-get install libxvidcore-dev libx264-dev #处理视频所需的包 
> 6.sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
> 7.sudo apt-get install ffmpeg


其中第三行命令安装libjasper-dev时可能会报错,解决方法:

1.sudo add-apt-repository "debhttp://security.ubuntu.com/ubuntu xenial-security main"
2.sudo apt update
3.sudo apt install libjasper1 libjasper-dev

其中libjasper1是libjasper-dev的依赖包



二、通过编译安装


1.创建文件夹并解压zip


我是直接将opencv-4.1.1的压缩包直接解压,命令如下:

1.unzip opencv-4.1.1.zip

将其opencv_contrib-4.1.1解压后放入opencv-4.1.1这个文件夹内。解压命令如下:

2.unzip opencv_contrib-4.1.1.zip

unzip只是针对后缀为zip的压缩包,其他格式可以去查看Linux命令大全。

****

注意:解压后的opencv_contrib-4.1.1文件要放入到opencv-4.1.1



2.创建build文件夹并编译

1.cd opencv-4.1.1
2.sudo mkdir build
3.cd build

安装好了后就是编译:

1.sudo cmake -D CMAKE_BUILD_TYPE=Release -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.6 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_opencv_python2=OFF -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv-4.1.1/opencv_contrib-4.1.1/modules ..

注意:最后一句话的opencv扩展模型路径要对应改到你自己先前建立的文件路径下:


-D OPENCV_EXTRA_MODULES_PATH=~/opencv-4.1.1/opencv_contrib-4.1.1/modules


并且最后的两个点不能省略!


然后进行编译:

1.sudo make -j8
可以使用sudo make -j8 、sudo make -j4 、sudo make 
我这里就使用sudo make -j8了,这个根据自己电脑配置。


然后可能会遇到几种错误(根据自身问题## 标题):



错误1.

/works/opencv-3.4.0/opencv_contrib-3.4.0/modules/xfeatures2d/src/boostdesc.cpp:646:20: fatal error: boostdesc_bgm.i: No such file or directory

#include “boostdesc_bgm.i”

^~~~~~~~~~~~~~~~~


点击此处解决办法链接

,然后下载: “contrib_xfeatures2d_vgg_20160317” and “contrib_xfeatures2d_boostdesc_20161012”

两个文件并将解压后的文件中的所有.i文件复制至

<你的路径> /opencv_contrib-4.1.1/modules/xfeatures2d/src/目录中

然后再进入到

build

文件运行命令:

sudo make -j8


错误2

.opencv_contrib缺少boostdesc_bgm.i;atal error: features2d/test/test_detectors_regressio


执行如下命令,查看是否有对应文件:

1.find -name test_detectors_regression.impl.hpp

先看文件是否存在,然后在打开opencv-4.1.1/CMakeLists.txt文件,在下面的位置后插入include_directories(“modules”)

在这里插入图片描述
然后再到build文件内再此运行:sudo make -j8命令就可以完美解决了。

在这里插入图片描述

到这一步我先运行下面的命令:

1.python3
2.import cv2

在这里插入图片描述
在这里显示找不到cv2,然后也是经历一番查找问题,期间还重新从建立build那一步开始运行,也成功运行,但是一测试还是找不到,最后看了一下别人的安装过程。决定在sudo make -j8后面运行一下这个命令:

1. sudo make install

在这里插入图片描述
运行完之后,我看他需要再运行一步这个命令 pip3 install opencv-python 然后就尝试一下,后面就报了一个错。

在这里插入图片描述

最后就不要管那个问题,然后就直接在输入python3测试一番,然后就发现了一个惊喜。

在这里插入图片描述

错误提示是没有安装numpy这个库,那就简单多了,然后就按照提示装这个numpy库就行了。见下图。

在这里插入图片描述



三、最后测试

然后再次输入以下代码:

1.cd  opencv-4.1.1/build
2.python3
3.import cv2
   cv2.__version__

如图所示:

在这里插入图片描述

输出版本号4.1.1即可表明安装成功!

大功告成!!!!



版权声明:本文为qq_39708147原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。