每个人的安装过程可能都会有着不同的问题,我按照网上教程安装过程和心得,希望能够帮助到你。
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即可表明安装成功!
大功告成!!!!