单元五
第18课 人脸签到改进——负责任使用

一、任务目标
在人脸签到里控制写入次数:体验用 oldname 避免同一人连续重复写入,完整程序每次对上都写。
二、我们要学什么
- 学习要点:负责任写入|同一人不要连记
- 本课过关:能完成:说出负责任写入就是同一人连续出现时不要把文件刷满;载入编程体验,指出识别结果不是 null 且不等于 oldname 才写入签到.txt;再运行完整程序,指出没有 oldname,每次不是 null 都追加一行。
- 示例对齐:编程体验对应
十学期兴趣课程/学期5/4-3-2 人脸识别-人脸签到改进.mix;完整程序对应十学期兴趣课程/学期5/4-3-1 人脸识别-人脸签到.mix。
三、本节要点
本课要认识负责任使用里的「记多少次」:文件会留下姓名和时间,同一人连续出现时要不要连写,由程序决定。重难点是分清两套——编程体验用 oldname 防重复;完整程序每次对上都写。要点对齐「负责任写入|同一人不要连记」。
四、解题思路
任务:对照签到写文件的次数。编程体验同一人连续出现只写一次;完整程序每次对上都追加。请对照签到.txt 和彩屏。
本课主要用到:摄像头;彩屏 TFT;喇叭;B1 按键;文件签到.txt;人脸库 face.db。
- 1打开人脸库并清空,准备姓名元组。
- 2循环比对,得到识别结果 x。
- 3编程体验:x 不是 null 且不等于 oldname 才写文件。
- 4写完把 oldname 换成 x,避免连续重复。
- 5完整程序没有 oldname,每次不是 null 都写一行。
流程示意
五、图形块功能讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
六、知识点讲解
| 知识点 | 本课怎么理解 |
|---|---|
| 为什么要 oldname | 摄像头一直对着同一个人时,循环会多次得到同一个 x。体验用 oldname,姓名没变就不写。 |
| 完整会连写 | 完整程序只要 x 不是 null 就 open、write、close,文件会很快变长。 |
| 误识也会进文件 | 两套都是对上名字就写。对错了也会留下一行,回看文件时要核对现场。 |
| 仍可补录 | 两套按 B1 仍可按张三、李四…登记。人决定要不要再往库里加脸。 |
先让体验对着同一人看文件是不是只多一行,再跑完整程序看会不会连写。
七、编程练习
点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant「十学期兴趣课程/学期5」。语音/视觉在仿真中可能需真机或按键近似;在 Mixly 工具栏点「运行 / 停止」。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
官方示例:4-3-2 人脸识别-人脸签到改进.mix。载入后运行。
正在载入编程环境
正在载入 MixGo SANT 仿真编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:编程体验用 oldname,同一姓名连续出现时只写第一次。
判断:完整程序也用 oldname,不会连续写入同一姓名。
本课说的「负责任写入」主要改的是?
识别结果为 null 时,两套都会?
编程体验写完一行后还会?
九、本节小结
本课认识负责任写入。编程体验用 oldname 避免同一人连续重复写入签到.txt;完整程序每次对上都写。