本文所涉及的文件链接:https://pan.baidu.com/s/1u_y9TLP882FcFbNNXLEmKQ 提取码:4g67
- 更新系统
sudo apt-get update
sudo apt-get upgrade
- 安装numpy
sudo pip3 install numpy
- 扩展文件系统
sudo raspi-config
选择Advanced Options
选择Expand Filesystem
重启树莓派
sudo reboot
- 安装依赖文件
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
-
解压缩并复制opencv和opencv-contrib文件夹到/home/pi/Downloads
-
创建build文件夹并进入
cd /home/pi/Downloads/opencv
mkdir build
cd build
- 设置CMAKE参数
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.7 PYTHON_INCLUDE_DIR=/usr/include/python3.7 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.7/site-packages/numpy/core/include ..
如果有不同,可以根据自己的情况更改。
-
将boostdesc_bgm文件夹里的文件放到/opencv_contrib/modules/xfeatures2d/src
-
将test_detectors_regression文件夹里的文件放到/opencv_contrib/modules/xfeatures2d/test/
-
修改test_features2d.cpp的include文件
// #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"
- 修改test_rotation_and_scale_invariance.cpp的include文件
// #include "features2d/test/test_detectors_invariance.impl.hpp" // main OpenCV repo
// #include "features2d/test/test_descriptors_invariance.impl.hpp" // main OpenCV repo
// 修改文件地址如下
#include "test_detectors_invariance.impl.hpp" // main OpenCV repo
#include "test_descriptors_invariance.impl.hpp" // main OpenCV repo
- 进行编译的准备
sudo nano /etc/dphys-swapfile
将CONF_SWAPSIZE变量,从100改成1024
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
- 编译
cd /home/pi/Downloads/opencv/build
make -j4
make -j4代表4线程编译,该过程很慢,需耐心等待。
- 安装
sudo make install
- 将更改的参数改回原来的值
sudo nano /etc/dphys-swapfile
将CONF_SWAPSIZE这个变量,从1024改成100
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
- 验证是否安装成功
python
import cv2
cv2.__version__