git clone -b 3.4.10 https://gitee.com/mirrors/opencv.git git clone -b 3.4.10 https://gitee.com/mirrors/opencv_contrib.git
可以将下载下来的文件夹放置到/home/目录下,可以重新命名opencv-3.4.10文件夹为opencv,同样可以命名opencv_contrib。
然后将opencv_contrib文件夹移至opencv下,方便后续的安装。
注意:-b 后面是版本号
2、安装之前首先需要安装依赖环境注意:以下三条命令要按照顺序进行安装
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
安装第三条命令时遇到以下错误:
Unable to locate package libjasper-dev
解决办法:参考连接
3、安装3.1 进入opencv文件夹下新建build文件夹:
cd opencv/ mkdir build
3.2 然后执行以下命令:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/syd/opencv/opencv_contrib/modules/ ..
**注意:OPENCV_EXTRA_MODULES_PATH的路径需要按照自己实际路径进行修改,可以使用pwd命令进行查看opencv_contrib/modules/的绝对路径。后面的两个..不要忘记 **
3.3 然后执行以下命令:
sudo make -j8
注意:一般在执行这一步命令的时候都会遇到问题,下面一一介绍,可能每个问题出现的顺序顺序不太一致。
3.3.1 出现一系列未定义引用问题
这应该是由于当前系统中安装了anaconda导致的,错误类似以下内容:
/home/syd/anaconda3/lib/libobject-2.0.so.0 对'ffi_type_void@LIBFFI_BASE_7.0'未定义的引用
解决方法:
cd /usr/lib/x86_64-linux-gnu sudo ln -s ~/anaconda3/lib/libzstd.so.1 sudo ldconfig sudo ln -s ~/anaconda3/lib/libffi.so.7 sudo ldconfig sudo ln -s ~/anaconda3/lib/libpcre.so.1 sudo ldconfig
参考
3.3.2 编译xfeatures2d出现头文件包含缺失的问题
错误类似以下内容:
fatal error:boostdesc_bgm.i:没有那个文件或目录 #include “boostdesc_bgm.i”
解决方法:将以下链接所提供的的文件复制到opencv_contrib/modules/xfeatures2d/src/路径下即可,继续进行编译
阿里云盘链接 提取码:su99
3.3.3 编译时出现头文件cuda.hpp找不到的状况
错误类似以下内容:
/home/syd/opencv/modules/stitching/include/opencv2/stitching/detail/src/matchers.cpp 52:12: fatal error: opencv2/xfeature/cuda.hpp
解决的办法:
打开上述报错的文件:
cd /home/syd/opencv/modules/stitching/include/opencv2/stitching/detail/src/ sudo vim matcers.cpp
可以看到在52行左右有这样的代码:
#iifdef HAVE_OPENCV_XFEATURES2D #include “/opencv2/xfeatures2d/cuda.hpp” #endif
将上述代码中的第二行修改为cuda.hpp绝对路径,,这里的路径要根据实际情况修改:
#include"/home/syd/opencv/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
注意:对于第三类问题,可能还会出现其他问题,可以具体问题具体分析
3.4 执行安装命令 (不要忘记!!!)
sudo make install4、配置环境
# 打开以下文件 sudo gedit /etc/ld.so.conf #加入一下语句 include /usr/local/lib #执行命令 sudo ldconfig #打开以下文件 sudo gedit /etc/bash.bashrc #文件末尾加入 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH #使其生效 source /etc/bash.bashrc #校验命令5、校验安装是否成功
5.1 验证opencv版本
pkg-config opencv --modversion
5.2 测试
cd /opencv/samples/cpp/example_cmake/ cmake . make ./opencv_example
执行可执行文件./opencv_example出现摄像头应该就是安装成功了。
6、参考Ubuntu18.04安装opencv和opencv_contrib(详细步骤及常见问题解决)
OpenCV 源码安装及错误解决
Ubuntu安装OpenCV
Ubuntu下opencv3.3和opencv_contrib的编译安装
笔者水平有限,若有不足之处,请多多包涵 !



