1.基础包安装
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 报错,使用以下方式解决)
sudo add-apt-repository “deb http://security.ubuntu.com/ubuntu xenial-security main”
sudo apt update
sudo apt install libjasper1 libjasper-dev
其中libjasper1为 libjasper-dev 的依赖库
- Qt5可以安装也可以不安装(Qt是诺基亚公司的C++可视化开发平台)
3.下载源文件opencv-4.4.0.zip和opencv_contrib-4.4.0.zip
OpenCV官网:https://opencv.org/
Github地址: https://github.com/opencv/
4.把opencv_contrib-4.4.0.zip放到opencv-4.4.0.zip中
5.解压并创建build文件夹
unzip opencv-4.4.0.zip
unzip opencv_contrib-4.4.0.zip
cd opencv-4.4.0
mkdir build
cd build
6.挂代理
export http_proxy=“http://127.0.0.1:12333”
export https_proxy=“http://127.0.0.1:12333”
7.安装hdf5(可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库)解压并安装在opencv-4.4.0目录中,安装完成后在/usr/local下会出现hdf5。
sudo tar -xvf hdf5-1.8.11.tar.gz
cd hdf5-1.8.11/
sudo ./configure --prefix=/usr/local/hdf5
sudo make
sudo make check
sudo make install
8.编译
cmake -D CMAKE_BUILD_TYPE=Release
-D CMAKE_INSTALL_PREFIX=/usr/local/opencv44
-D OPENCV_EXTRA_MODULES_PATH=…/opencv_contrib-4.4.0/modules
-D INSTALL_C_EXAMPLES=ON
-D BUILD_DOCS=ON
-D BUILD_EXAMPLES=ON
-D OPENCV_GENERATE_PKGCONFIG=ON
-D WITH_V4L=ON
-D WITH_QT=ON
-D WITH_OPENGL=ON
-D WITH_GSTREAMER=ON
…
make -j8
sudo make install
出现的一些错误
1.cmake中有些文件下载失败
下载缺失文件后,将这11个文件放进/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src/文件夹下。
2.make过程中一些头文件找不到
make到一半又会出现
fatal error : feature2d/test/test_detectors_regression.impl.hpp:没有那个文件或目录
解决方法:对比一下opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/test/ 和 opencv-4.4.0/modules/feature2d/test/ 文件夹,看看前者缺了哪些.hpp文件,然后把缺的那些都复制进去,应该是缺了以下五个
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-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/test/test_features2d.cpp和opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp中的
#include “features2d/test/test_detectors_regression.impl.hpp”
#include “features2d/test/test_descriptors_regression.impl.hpp”
改为
#include “test_detectors_invariance.impl.hpp”
#include “test_descriptors_invariance.impl.hpp”
我看了看路径虽然看似是对的,文件也存在,但是它的路径最原始出发点可能不对,所以把头文件只改成一个文件名。
9.环境配置
①配置库 (opencv.conf)
cd /etc/ld.so.conf.d/
sudo echo /usr/local/opencv44/lib >> opencv.conf
sudo ldconfig -v
②配置opencv4.pc(此时就在当前目录配置即可)
sudo vi ~/.bashrc进入一个文件,然后在最后面加上
export PKG_CONFIG_PATH=
P
K
G
C
O
N
F
I
G
P
A
T
H
:
/
u
s
r
/
l
o
c
a
l
/
o
p
e
n
c
v
44
/
l
i
b
/
p
k
g
c
o
n
f
i
g
或
者
用
命
令
完
成
也
行
e
c
h
o
P
K
G
C
O
N
F
I
G
P
A
T
H
=
PKG_CONFIG_PATH:/usr/local/opencv44/lib/pkgconfig 或者用命令完成也行 echo PKG_CONFIG_PATH=
PKGCONFIGPATH:/usr/local/opencv44/lib/pkgconfig或者用命令完成也行echoPKGCONFIGPATH=PKG_CONFIG_PATH:/usr/local/opencv44/lib/pkgconfig >> ~/.bashrc
③将opencv.pc 放在系统路径下
sudo cp /usr/local/opencv44/lib/pkgconfig/opencv4.pc /usr/lib/pkgconfig/opencv.pc
④重新加载配置
sudo ldconfig
10.opencv版本查看
pkg-config --modversion opencv
参考:https://blog.csdn.net/wangzsh187/article/details/108542978
https://blog.csdn.net/cloud_shen/article/details/107878654