Raspberry pi 树莓派安装 OpenCV 4.1.2


版权声明:本文为博主原创文章,未经博主允许不得转载。

发布

硬件准备:
推荐使用32G的MicroSD卡安装树莓派,(16G和8G的MicroSD卡,没测试过。)


1 – 保证网络通畅

这一点非常重要,网络不稳定的情况下,建议还是不要浪费时间了。


2 – 安装依赖项/库

安装必须的编译器:

sudo apt-get install build-essential

安装必须的依赖项:
参考官方安装:https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

sudo apt-get install cmake git
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config libavcodec-dev libavformat-dev libswscale-dev

如果遇到一些无法安装,可运先行以下sudo apt-get update更新库的链接地址,
再运行sudo apt-get install *** 进行安装,一般都能解决问题。

安装官方提供可选的依赖项:

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

安装一系列的图像和视频操作库,对以后的操作非常重要!

sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

安装GTK:

sudo apt-get install libgtk-3-dev

安装GTK警告信息过滤器,会减少令人讨厌的警告:

sudo apt-get install libcanberra-gtk*

星号*表示自动获取对应树莓派ARM架构的版本

安装OpenCV优化数据的库

sudo apt-get install libatlas-base-dev gfortran

安装Python3开发相关的库

sudo apt-get install python3-dev
sudo apt-get install libjasper-dev libjasper1

安装HDF5和QT库

sudo apt-get install libhdf5-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev 
sudo apt-get install libqtgui4 
sudo apt-get install libqt4-test

以上的这些依赖,是从官方和网络上总结出来的。
我不管三七二一,全都先安装上了。


3 – 扩展文件系统

在终端输入,以下命令,进入树莓派配置界面

sudo raspi-config

选择「 7 Advanced Options 」,按回车
http://img.lingshunlab.com/raspberry-pi-install-opencv412-1_f.png

选择「A1 Expand Filesystem」,按回车
http://img.lingshunlab.com/raspberry-pi-install-opencv412-5_f.png

重启树莓派,再继续征程。


4 – 增加虚拟内存

在安装的过程中,需要大量的内存,所有在这里我们需要更改虚拟内存的大小。

首先,先编辑虚拟内存的配置文件:

sudo nano /etc/dphys-swapfile

找到CONF_SWAPSIZE这一项,并设置为4096,大概就是4G的内存空间。

CONF_SWAPSIZE=4096

http://img.lingshunlab.com/raspberry-pi-install-opencv412-6_f.png

保存退出

然后,运行以下命令,以停止和重启虚拟内存,生效为4G空间。

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

5 – 下载最新版本的OpenCV和OpenCV_contrib

# 运行cd是为了回到用户默认目录,本例子使安装在默认目录下,你也可选选择在你自己喜欢的目录下安装。
cd
# 从github上clone代码库
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

6 – 构建与配置OpenCV

构建也就是所说的build,在终端运行如下命令:

# 运行cd是为了回到用户默认目录
cd
# 打开opencv文件价
cd opencv
# 新建立一个build文件夹
mkdir build
# 打开 build文件夹
cd build

# 运行cmake 配置
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D OPENCV_GENERATE_PKGCONFIG=ON -D ENABLE_NEON=ON -D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic -D ENABLE_VFPV3=ON -D BUILD_TESTS=OFF -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D BUILD_EXAMPLES=OFF ..

以下是我运行cmake后的配置信息,大家可以参考一下

http://img.lingshunlab.com/raspberry-pi-install-opencv412-7_f.png

http://img.lingshunlab.com/raspberry-pi-install-opencv412-8_f.png

http://img.lingshunlab.com/raspberry-pi-install-opencv412-9_f.png

http://img.lingshunlab.com/raspberry-pi-install-opencv412-10_f.png

http://img.lingshunlab.com/raspberry-pi-install-opencv412-11_f.png

http://img.lingshunlab.com/raspberry-pi-install-opencv412-12_f.png

http://img.lingshunlab.com/raspberry-pi-install-opencv412-13_f.png


7 – 编译OpenCV

准备就绪,终端在build目录下,输入如下命令进行编译,也就是说讲的compile :

make

如果你的pi性能很好,可以选择make -j$(nproc) or make -j2,-j意思就是使用多少个线程去进行编译。

经过长时间的等待…….终可到达100%

http://img.lingshunlab.com/raspberry-pi-install-opencv412-14_f.png


7 – 安装OpenCV

最后最后,运行如下命令,就可以进行安装:

sudo make install

这个安装过程非常快,不用担心。

http://img.lingshunlab.com/raspberry-pi-install-opencv412-15_f.png

这些过程,一气呵成,
最重要的原因是网络通畅和依赖项/库都安装好了。

sudo ldconfig

最后 – 测试是否安装成功!

在终端进入python3的开发环境

python3

输入代码:

import cv2
cv2.__version__

http://img.lingshunlab.com/raspberry-pi-install-opencv412-16_f.png

在此,已经成功安装最新版本的OpenCV4.1.2。


总结

安装过程,长达2天,48小时,网速不好没有办法,但给点耐心总会安装上去的。项安装最新版的小伙伴,加油!

本文参考资料: