

安装过程
先在终端下安装一大堆需要的库:
1 | sudo apt-get update sudo apt-get install build-essential \ |
如果使用树莓派的摄像头(CSI接口),执行下面的命令:
1 | sudo apt-get install python3-picamera |
下载安装dlib:
1 | mkdir -p dlib |
安装face_recognition:
1 | sudo pip3 install face_recognition |
下载示例代码并尝试运行(可选):
1 | git clone --single-branch https://github.com/ageitgey/face_recognition.git |
注:过程缺少库时,使用
1 | apt-cache search 库名 |
来搜索到那个库的安装包,然后用
1 | sudo apt-get install 包名 |
来安装。
例如:缺少了libatlas.so.3,那我们就用apt-cache search libatlas来搜索,发现它的包名叫libatlas3-base,所以我们用sudo apt-get install libatlas3-base来安装。
后面测试摄像头的时候也会遇到这样的问题,解决办法是一样的。
待把CSI接口树莓派摄像头装上后,在raspi-config中启用摄像头,然后重启。
(详见博客内关于CSI摄像头的另一篇文章)
运行一下实时人脸识别的代码(可选):
1 | python3 facerec_from_webcam_faster.py |
过程可能报错,import cv2的时候缺少库,然后根据提示用之前安装方法安装就好了。装完一个库再运行的时候,发现又提示缺少别的库,然后再安装缺少的库。反复个多次,把缺少的库都装好即可。
再次运行的时候,会报别的错误,出错的代码是
1 | small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25) |
这是因为video_capture.read()没有读到图片。
树莓派中的camera module是放在/boot/目录中以固件形式加载的,不是一个标准的V4L2的摄像头驱动,所以加载起来之后会找不到/dev/video0的设备节点。
解决方法:转载https://blog.csdn.net/deiki/article/details/71123947
之后可以使用下面的命令来加载驱动模块:
1 | sudo modprobe bcm2835-v4l2 |
如果想开机自动加载,我们可以修改/etc/modules文件,添加一行:
1 | bcm2835-v4l2 |
如下图所示:
安装过程基本完毕。
个人提供的样例代码:
1 | #!/usr/bin/env |