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
注意:安装过程中可能遇到:无法定位软件包libjasper-dev的的情况,解决方法。
查阅资料后找到解决方法如下(https://blog.csdn.net/weixin_41053564/article/details/81254410)
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt upgrade
sudo apt install libjasper1 libjasper-dev
再次执行下面命令:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
OpenCv:https://opencv.org/releases/
OpenCv_Contrib: https://github.com/opencv/opencv_contrib/releases
下载好以后,将两个压缩文件解压(提取到…)安装目录。
(我这里分别将OpenCV和OpenCV_Contrib的文件名的版本号去掉,将opencv_contrib复制到opencv文件夹下。)
网上大部分opencv的教程都是基于opencv2 opencv3的,在opencv4下会出现没有Pkg-config支持的情况
比较扯淡的是,是opencv官方主动删去pkg-config 支持的,但是官方样例中依然使用pkg-config 进行编译。
因此,如果你也在使用g++手动编译,或者使用Makefile的话,安装时加入pkg-config 支持是非常必要的。
安装步骤
注意在 cmake 这一步要加上OPENCV_GENERATE_PKGCONFIG=ON 不然没有pkg-config 支持会很痛苦
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release
-D CMAKE_INSTALL_PREFIX=/usr/local
-D OPENCV_GENERATE_PKGCONFIG=ON
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
make -j8
sudo make install
sudo gedit /etc/ld.so.conf.d/opencv.conf
在末尾添加如下内容:
/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一下,才能生效。
source /etc/bash.bashrc
进入opencv/samples/cpp目录下,有一个opencv自带的例子。
cd ../samples/cpp/example_cmake
cmake .
make
./opencv_example
打开摄像头,并且出现Hello OpenCV,即安装成功。
1.
编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件
解决方法:
参考:https://www.cnblogs.com/arxive/p/11778731.html
查看 build 文件夹下的日志文件 CMakeDownloadLog.txt,在日志文件CMakeDownloadLog.txt中搜索 boostdesc_bgm.i 关键词。日志文件里就有它的下载地址,到指定位置下载即可。https://github.com/opencv/opencv_contrib/issues/1301,点开上面这个网址往下拉,有人提供了缺失的各个文件的链接,点击保存. 或者直接在这个网页里搜索 BenbenIO 这个用户的回答。
或者到本文提供的下载镜像去下载:boostdesc_bgm.i,vgg_generated_48.i等.rar
下载后,直接拷贝源码并生存同名文件,放在 opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
2. 在make的时候出现如下问题:
fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory
解决方法如下:
将opencv-4.1.0/modules/features2d/test/文件下的
test_descriptors_invariance.impl.hpp
test_descriptors_regression.impl.hpp
test_detectors_invariance.impl.hpp
test_detectors_regression.impl.hpp
test_invariance_utils.hpp
拷贝到opencv_contrib-4.1.0/modules/xfeatures2d/test/文件下。
同时,将opencv_contrib-4.1.0/modules/xfeatures2d/test/test_features2d.cpp文件下的
#include "features2d/test/test_detectors_regression.impl.hpp"
#include "features2d/test/test_descriptors_regression.impl.hpp"
改成:
#include "test_detectors_regression.impl.hpp"
#include "test_descriptors_regression.impl.hpp"
将opencv_contrib-4.1.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp文件下的
#include "features2d/test/test_detectors_invariance.impl.hpp"
#include "features2d/test/test_descriptors_invariance.impl.hpp"
改成:
#include "test_detectors_invariance.impl.hpp"
#include "test_descriptors_invariance.impl.hpp"