Skip to content

katteXu/face_recognize

Repository files navigation

人脸识别相机系统

这是一个使用 Rust 和 OpenCV 开发的人脸识别相机系统,能够实现实时人脸检测、人脸注册(训练)和人脸识别功能。

功能特点

  1. 人脸检测:使用 Haar 级联分类器实时检测摄像头中的人脸
  2. 人脸注册:允许用户注册新的人脸,并为其命名
  3. 人脸识别:能够识别已注册的人脸,并显示其姓名和相似度

系统要求

  • Rust 编程环境
  • OpenCV 4.x(带有 face 模块)
  • 摄像头

安装步骤

  1. 确保已安装 Rust 和 Cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  1. 安装 OpenCV 依赖(以 macOS 为例)
brew install opencv
  1. 克隆本仓库
git clone <repository-url>
cd my-camera
  1. 编译项目
cargo build --release

配置

可以通过修改 .env 文件来配置程序:

FACE_SIZE=160          # 人脸尺寸
CAMERA_INDEX=0         # 摄像头索引(0通常为默认摄像头)
MODEL=haarcascade_frontalface_default.xml  # 人脸检测模型
FACE_THRESHOLD=70.0    # 人脸识别阈值

使用方法

  1. 运行程序
cargo run --release
  1. 键盘快捷键

    • d: 切换到仅人脸检测模式
    • r: 切换到人脸识别模式
    • n: 切换到人脸注册模式(需要输入姓名)
    • qEsc: 退出程序
  2. 人脸注册步骤

    • n 键进入注册模式
    • 确保画面中只有一个人脸
    • 输入姓名后按回车
    • 成功注册后会自动切换到人脸识别模式

数据存储

  • 人脸图像存储在 faces/ 目录中
  • 人脸数据库存储在 faces_db.json 文件中
  • 训练模型存储在 face_model.yml 文件中

许可证

MIT License

About

人脸识别

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages