005-02、树莓派人脸识别:环境搭建与相机测试
本文记录课程设计使用的 Raspberry Pi OS 与 OpenCV 环境。2023 年环境使用 Legacy Camera 和 cv2.VideoCapture(0);较新的 Raspberry Pi OS 通常采用 libcamera 或 Picamera2,应按当前系统版本调整。
1、更新系统
1 | sudo apt update |
更新前确认网络稳定,并预留足够的 TF 卡空间。
2、安装项目依赖
课程环境使用系统包安装 OpenCV:
1 | sudo apt install python3-opencv python3-pip python3-pil python3-numpy |
检查 Python、OpenCV 和 cv2.face:
1 | python3 -c "import cv2; print(cv2.__version__); print(hasattr(cv2, 'face'))" |
如果 cv2.face 为 False,说明当前 OpenCV 构建不包含 contrib 模块,需要根据系统架构安装包含 opencv_contrib 的版本。不要同时混用多套 apt、全局 pip 和虚拟环境包,否则很容易出现导入路径冲突。
课程设备性能有限,代码编辑使用 Thonny、系统文本编辑器或 SSH 即可,无需在树莓派上运行较重的 IDE。
3、启用并确认摄像头
2023 年课程环境通过:
1 | sudo raspi-config |
进入 Interface Options,启用当时系统提供的 Legacy Camera,然后重启。
新系统如果没有该选项,应使用 Raspberry Pi 官方相机栈测试,不需要寻找并强行恢复旧菜单。
4、OpenCV 相机测试
新建 test_camera.py:
1 | import cv2 |
运行:
1 | python3 test_camera.py |
正常读取画面后按 q 退出。
5、常见问题
| 现象 | 优先检查 |
|---|---|
| 无法打开摄像头 | 排线方向、接口卡扣、系统相机栈、设备节点 |
| 有设备但没有画面 | 是否被其他程序占用、分辨率、供电 |
cv2.face 不存在 |
OpenCV 是否包含 contrib 模块 |
| 图形窗口无法显示 | 是否在无桌面的 SSH 会话、DISPLAY 配置 |
| 安装包互相冲突 | python3 -m pip show 与系统包来源 |
相机测试通过后,再进入检测、训练与识别。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruiqy~!







