单元四
第14课 录入人脸姓名——特征

一、任务目标
把检测到的脸登记进人脸库:体验按姓名元组录入,完整程序按序号当名字。
二、我们要学什么
- 学习要点:人脸录入|特征绑上姓名或序号
- 本课过关:能完成:说出录入就是把面部特征和姓名(或序号)绑在一起存进 face.db;载入编程体验,指出先清空人脸库,检测到人后按 B1 按张三、李四…依次登记,成功则彩屏显示 ID 和姓名并短声;再运行完整程序,指出不先清空,名字写成当前序号。
- 示例对齐:编程体验对应 「十学期兴趣课程/学期5/4-2-1 人脸识别-录入人脸姓名」;完整程序对应 「十学期兴趣课程/学期5/4-1-1 人脸识别-录入人脸」。
三、本节要点
本课要认识人脸录入:检测到人之后,按 B1 才登记。重难点是分清两套——编程体验先清空库,名字来自(张三、李四、王五、赵六);完整程序不清空,名字用序号。要点对齐「人脸录入|特征绑上姓名或序号」。
1读场景明确真实任务
2对要点人脸录入|特征绑上姓名或序号
3载入运行官方积木/代码
四、解题思路
任务:对照两种录入。编程体验按姓名表登记;完整程序按序号当名字。请对照彩屏 TFT 和喇叭。
本课主要用到:摄像头;B1 按键;彩屏 TFT;喇叭;人脸库 face.db。
- 1创建摄像头和 FaceRecognizer,数据库路径 face.db。
- 2编程体验先清空人脸库,准备姓名元组。
- 3循环检测;检测到人且按 B1 才 enroll。
- 4体验把 mytup[序号] 当姓名,成功才显示 ID 并短声、序号加 1。
- 5完整程序不清空;姓名写成 str(序号),按 B1 就显示并加 1。
流程示意
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 元组 | 用若干项组成不可变序列。 | 编程体验准备(张三、李四、王五、赵六),按序号取姓名。完整程序不用元组。 |
![]() | 板载智能 | 删除全部已登记人脸。 | 编程体验一开始清空 face.db。完整程序不清空。 |
![]() | 板载智能 | 返回已登记人脸的名字。 | simple_run 取 person/name,用来确认画面里已经有人再允许录入。 |
![]() | 板载智能 | 简化流程登记人脸。 | 按 B1 调用 enroll。体验写入元组姓名;完整程序写入序号。 |
![]() | 元组 | 按位置取值。 | 体验按当前序号取出要绑定的姓名。 |
![]() | 文本 | 按模板填入数值或文字。 | 彩屏显示「ID: {} Name:{}」,把编号和姓名(或序号)写在一起。 |
六、知识点讲解
人脸录入在同意之后,把当前面部特征和一个名字(或序号)绑定,写入人脸库,供后面比对。没按 B1 不会登记。
| 知识点 | 本课怎么理解 |
|---|---|
| 特征与姓名 | enroll 需要一张脸和一个 name。体验用元组里的中文名;完整程序用序号数字当名字。 |
| 何时登记 | 两套都要检测到人(x 为真)并且刚按下 B1。 |
| 清空人脸库 | 体验开头 clear_face,从空库开始。完整程序不清空,库里可能已有旧记录。 |
| 成功反馈 | 体验只有 ID 为真才显示、发声、加序号;完整程序按 B1 就会显示并加序号。 |
先看体验彩屏是不是「ID + 张三」这类姓名,再看完整程序是不是序号。
七、编程练习
点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant「十学期兴趣课程/学期5」。语音/视觉在仿真中可能需真机或按键近似;在 Mixly 工具栏点「运行 / 停止」。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
官方示例:4-2-1 人脸识别-录入人脸姓名.mix。载入后运行。
正在载入编程环境
正在载入 MixGo SANT 仿真编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:编程体验会先清空人脸库,按 B1 时按张三、李四…的顺序登记。
判断:完整程序也会先清空人脸库,并用中文姓名表。
「人脸录入」绑定的是?
两套程序都要满足什么才登记?
编程体验登记成功后彩屏应看到?
九、本节小结
本课认识人脸录入。编程体验清空后按姓名表登记;完整程序不清空,用序号当名字。





