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

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

一、安装准备

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命令大全。
Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第1张图片注意:解压后的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”)
Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第2张图片然后再到build文件内再此运行:sudo make -j8命令就可以完美解决了。
Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第3张图片
到这一步我先运行下面的命令:

1.python3
2.import cv2

Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第4张图片在这里显示找不到cv2,然后也是经历一番查找问题,期间还重新从建立build那一步开始运行,也成功运行,但是一测试还是找不到,最后看了一下别人的安装过程。决定在sudo make -j8后面运行一下这个命令:

1. sudo make install

Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第5张图片运行完之后,我看他需要再运行一步这个命令 pip3 install opencv-python 然后就尝试一下,后面就报了一个错。
Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第6张图片
最后就不要管那个问题,然后就直接在输入python3测试一番,然后就发现了一个惊喜。
Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第7张图片
错误提示是没有安装numpy这个库,那就简单多了,然后就按照提示装这个numpy库就行了。见下图。
Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第8张图片

三、最后测试

然后再次输入以下代码:

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

如图所示:
Ubuntu18.04安装基于Python3.6.9的opencv-4.1.1教程及问题解决_第9张图片

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

你可能感兴趣的:(python,linux,深度学习)