最近需要用opencv在树莓派上开发项目,参考了网上的部分教程,入了不少坑,因此写这一篇博客帮助树莓派初学者高效的使用opencv库进行AI应用,此教程采用源码编译的方式进行opencv安装:
第一步【不需要更换国内源,直接使用树莓派自带的官方源】
// 安装必要的opencv库
sudo apt-get update
sudo apt-get upgrade
sudo nano /etc/dphys-swapfile//把该文件的CONF_SWAPSIZE=100替换为CONF_SWAPSIZE=2048
CONF_SWAPSIZE=2048
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
第二步【更换国内源】
1:更换软件源用sudo命令进入/etc/apt/sources.list文件夹将官方源用#注释掉
sudo nano /etc/apt/sources.list
更换为阿里源:
deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi
2:更换系统源
sudo nano /etc/apt/sources.list.d/raspi.list
将官方的源用#注释掉更换为阿里源:
deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main
第三步安装【cmake】
sudo apt install cmake
第四步【获取源码】
//opencv版本可更改为最新版
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.1.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.1.zip
第五步【解压】
unzip opencv.zip
unzip opencv_contrib.zip
第六步【加一些必要的文件加快编译速度】
1.在opencv_contrib/modules/xfeatures2d/src/ 路径下放入以下文件
提取码:lenw
2.将opencv-4.5.1/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.5.1/modules/xfeatures2d/test/文件下
3.将opencv_contrib-4.5.1/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"
4.将opencv_contrib-4.4.5.1/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"
第七步【安装python超级计算器numpy】
sudo pip3 install numpy
第八步【编译】
大概需要两个小时
cd ~/opencv-4.5.1/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.5.1/modules \
-D BUILD_EXAMPLES=ON ..
make -j4
sudo make install && sudo ldconfig
sudo reboot
第九步【验证】
用python进行验证,出现4.5.1证明安装成功
pi@raspberrypi:~ $ python3[按回车键]
>>> import cv2【按回车键】
>>> cv2.__version__【按回车健】
'4.5.1'
>>>
参考以下博客:
https://blog.csdn.net/pj18862486309/article/details/108686555
https://blog.csdn.net/chengyq116/article/details/86514237