1、从树莓派国内的清华源镜像下载系统的安装包,我使用的是2020-02-13-raspbian-buster-full.zip,这也是最后一代的raspbian系统,解压生成.img后缀文件。
2、准备好SD卡与读卡器,如果是新的SD卡就不用刷系统了,如果是用过的需要刷一下系统。
3、安装烧录工具Etcher
首先把FT卡插入读卡器中,并接到电脑的USB接口,打开烧录工具(Etcher),如下图所示,按照步骤进行即可。
因为树莓派系统目前已经禁用了ssh服务,所以如果要使用ssh的话,需要在TF卡根目录新建一个空白目录,目录名为ssh,注意没有任何后缀。
在根目录下新建一个名为“wpa_supplicant.conf”的空白文件,并添加以下内容(不包括注释部分):
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="目标Wi-Fi名称" #注意区分大小写
psk="目标Wi-Fi密码" #注意区分大小写
}
(1)树莓派开启ssh服务
输入树莓派配置命令sudo raspi-config
进入配置界面,将选中条选择到9 Advanced Options
(上下键移动选中条),回车。选中“A4 SSH”
,回车,然后通过选中“Yes”
(左右键移动选中条)来开启SSH服务。
(2)在电脑下载安装“putty”
,完成后打开软件,弹出配置界面,在主机名(Host Name)中输入树莓派对应IP地址、端口号,点击打开(弹出安全警告选择是)。
(1)树莓派开启VNC
输入树莓派配置命令sudo raspi-config
进入配置界面,将选中条选择到5 Interfacing Options
(上下键移动选中条),回车。选中“P3 VNC”
,回车,然后通过选中“Yes”
(左右键移动选中条)来开启VNC服务。
在树莓派中断输入vncserver
(2)电脑端开启VNC服务
在自己电脑上下载VNC Viewer,输入树莓派IP端口号默认为1,之后输入自己的主机号,账号和密码就可以开启。
sudo nano /etc/init.d/vncserver
复制进去
#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $syslog $remote_fs $network
# Required-Stop: $syslog $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts VNC Server on system start.
# Description: Starts tight VNC Server. Script written by James Swineson.
### END INIT INFO
# /etc/init.d/tightvncserver
VNCUSER='pi'
case "$1" in
start)
su $VNCUSER -c '/usr/bin/vncserver :1'
echo "Starting VNC Server for $VNCUSER"
;;
stop)
su $USER -c '/usr/bin/vncserver -kill :1'
echo "VNC Server stopped"
;;
*)
echo "Usage: /etc/init.d/vncserver {start|stop}"
exit 1
;;
esac
exit 0
保存
修改文件权限
sudo chmod 755 /etc/init.d/vncserver
sudo update-rc.d vncserver defaults
如果要取消开机启动,则:
sudo update-rc.d -f tightvncserver remove
1、树莓派扩容
输入树莓派配置命令sudo raspi-config
进入配置界面,将选中条选择到9 Advanced Options
(上下键移动选中条),回车。选中“A1 Expand”
,回车,然后通过选中“Yes”
(左右键移动选中条)来进行扩容。
2、换成清华大学源
首先执行sudo nano /etc/apt/sources.list
,之后按照清华源的说明做就行,之后用’ # '备注以前的最后加新的然后 ctrl+o ctrl+x,最后执行sudo nano /etc/apt/sources.list.d/raspi.list
3、下载opencv依赖的库文件
可以使用df -h
查看剩余的磁盘空间
sudo apt-get install build-essential cmake git pkg-config
sudo apt-get install libjpeg8-dev
sudo apt-get install libtiff5-dev
sudo apt-get install libjasper-dev
sudo apt-get install libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran
4、opencv下载
(1)下载离线文件,并传输至树莓派进行解压
opencv下载,选择source文件
opencv_contrib下载,选在zip文件
缺失文件下载,3.4.6与4.1.0含有缺失文件
链接: https://pan.baidu.com/s/1MMssaWZESNPeyeTTirF_Bw
提取码: qemx
使用scp命令进行传输,输入命令后,会提示输入密码
scp D:\code\face.zip pi@172.20.10.7:/home/pi
(2)进行安装
cd ~/Opencv/opencv-3.4.6
mkdir release
进入release文件夹cd release
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/opencv/opencv_contrib-3.4.6/modules \#这一行
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
sudo make -j4 2>&1 | tee make.log
会出现多次报错
通常都是这一个错误因为头文件路径不对,解决方法就是找到有错误引用的源文件进行修改。这部分可以查看博客进行解决
sudo make install
(3)人脸识别进行验证
import cv2
#找一个图片重命名为img,与程序文件放在一个文件夹下(要有人脸啊)
img = cv2.imread('/home/pi/face/1.jpg',1)
#这里要改用你的绝对路径
face_engine = cv2.CascadeClassifier('/home/pi/opencv/opencv-3.4.6/data/haarcascades/haarcascade_frontalface_default.xml')
faces = face_engine.detectMultiScale(img,scaleFactor=1.3,minNeighbors=5)
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()