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
2 下载opencv
打开github,搜索输入opencv,前两个就是
![](https://img.haomeiwen.com/i2771446/2459b496c52f6e13.png)
或者直接打开链接opencv || opencv_contrib
进入后选择releases,下载最新的版本即可,我这里opencv_contrib下载的是4,1,2版本,opencv也是4.1.2。
这里附上下载链接OpenCV 4.1.2 || opencv_contrib 4.1.2
如果你树莓派网络通畅,那么直接使用wget进行下载,否则就和我一样现先下载到PC,然后通过VNC里的文件传输,发过去。
wget https://github.com/opencv/opencv/archive/4.1.2.zip
wget https://github.com/opencv/opencv_contrib/archive/4.1.2.zip
下载完成后使用unzip命令解压即可
3 编译
进入openc目录,新建一个build文件夹
cd opencv-4.1.2
mkdir build
cd build
然后是配置编译选项
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/pi/camera/opencv/opencv_contrib-4.1.2/modules ..
其中OPENCV_EXTRA_MODULES_PATH参数是opencv_contrib 的位置,需要自己修改,还有一些其他选项,可在参考页面查看。
之后就是编译,这个时间就比较长了,期间出现的错误参阅第5节
make
最后安装库文件
sudo make install
![](https://img.haomeiwen.com/i2771446/4724009206189774.png)
4 验证
进入python环境,导入opencv,查看版本
python3
import cv2
cv2.__version__
![](https://img.haomeiwen.com/i2771446/6e4fb061f6cdf0cf.png)
5 make中可能出现的错误
- XXX.hpp 没有那个文件或者目录
一般是说在features2d/test目录下没有XXX.hpp什么的,处理方式是将opencv-4.1.2/modules/features2d/test该目录下对于的缺少文件复制到opencv_contrib-4.1.2/modules/xfeatures2d/test该目录下,然后修改报错的文件的#include,将前面的地址删除,就让其在本地找
例如 :
报错说在文件test_rotation_and_scale_invariance.cpp中找不到#include "xxxx/test_detectors_invariance.impl.hpp",
那么就在opencv-4.1.2/modules/features2d/test下去找test_detectors_invariance.impl.hpp文件,
将其复制到opencv_contrib-4.1.2/modules/xfeatures2d/test目录,
然后打开test_rotation_and_scale_invariance.cpp文件,
修改#include "xxxx/test_detectors_invariance.impl.hpp"为#include "test_detectors_invariance.impl.hpp"即可
如果觉得难得每个文件去找,那么干脆将目录中的所有文件复制过去,之后就该对于报错文件的#include位置就好了。
- ‘ppf_match_3d’ was not declared in this scope
这个问题直接make clean,程序编译就好了
- 缺少boostdesc_bgm.i文件
下载该链接文件
将其扔到opencv_contrib/modules/xfeatures2d/src/目录中
参考
https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
https://github.com/opencv/opencv_contrib/issues/1301
https://blog.csdn.net/u011736771/article/details/85960300
https://blog.csdn.net/ninwji/article/details/100798014
网友评论