Python+OpenCV实现人脸检测三部曲:采集 → 训练 → 识别(基础篇 - 用户管理)

OpenCV提供了人脸识别和训练的基本功能,实现对多人脸数据的采集、训练和识别。在实时视频中对识别的人脸标注人员信息,如姓名等。
由于涉及人脸采集、训练和用户信息管理等,先展示项目文件结构,具体如下:
Python+OpenCV实现人脸检测三部曲:采集 → 训练 → 识别(基础篇 - 用户管理)_第1张图片
config:系统配置和关键参数定义
db:存储用户信息,采用json格式保存,格式如下,后续根据实际可扩展
runlog:系统运行日志(根据实际需要使用)
trained:人脸数据训练后的文件,共人脸识别调用,采用yml格式
users:这里存储采集的人脸数据信息,可以有多个。这里0是0#用户,4是4#用户。

{
    "0": [
        "AAA",
        "2022-04-03 09:04:16",
        "./users/0"
    ],
    "4": [
        "DDD",
        "2022-04-08 16:27:26",
        "./users/4"
    ]
}在这里插入代码片

用户信息采用字典格式,“0”是索引值,也是对应的目录名,key值信息分别为:姓名、建立时间、存储的文件夹

由于是多用户,采用简单的命令管理,具体命令如下:

command_list = '''\n------- Command List ------- 
    [R], 启动人脸识别
    [T], 训练人脸数据
    [S], 显示所有用户\t\t[C], 清除所有用户
    [A], 增加一个用户\t\t[D], 删除指定用户\t\t[U], 更新指定用户
    [EXIT], 退出'''

Python+OpenCV实现人脸检测三部曲:采集 → 训练 → 识别(基础篇 - 用户管理)_第2张图片
将用户命令文件定义到一个类中,由于代码比较简单,这里就不详细展示了。

你可能感兴趣的:(OpenCV,python)