单元五

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

任务场景:人脸签到改进——负责任使用
任务场景:人脸签到改进——负责任使用

一、任务目标

在人脸签到里控制写入次数:体验用 oldname 避免同一人连续重复写入,完整程序每次对上都写。

二、我们要学什么

  • 学习要点:负责任写入|同一人不要连记
  • 本课过关:能完成:说出负责任写入就是同一人连续出现时不要把文件刷满;载入编程体验,指出识别结果不是 null 且不等于 oldname 才写入签到.txt;再运行完整程序,指出没有 oldname,每次不是 null 都追加一行。
  • 示例对齐:编程体验对应 十学期兴趣课程/学期5/4-3-2 人脸识别-人脸签到改进.mix;完整程序对应 十学期兴趣课程/学期5/4-3-1 人脸识别-人脸签到.mix。

三、本节要点

本课要认识负责任使用里的「记多少次」:文件会留下姓名和时间,同一人连续出现时要不要连写,由程序决定。重难点是分清两套——编程体验用 oldname 防重复;完整程序每次对上都写。要点对齐「负责任写入|同一人不要连记」。

1读场景明确真实任务
2对要点负责任写入|同一人不要连记
3载入运行官方积木/代码

四、解题思路

任务:对照签到写文件的次数。编程体验同一人连续出现只写一次;完整程序每次对上都追加。请对照签到.txt 和彩屏。

本课主要用到:摄像头;彩屏 TFT;喇叭;B1 按键;文件签到.txt;人脸库 face.db。

  1. 1打开人脸库并清空,准备姓名元组。
  2. 2循环比对,得到识别结果 x。
  3. 3编程体验:x 不是 null 且不等于 oldname 才写文件。
  4. 4写完把 oldname 换成 x,避免连续重复。
  5. 5完整程序没有 oldname,每次不是 null 都写一行。

流程示意

打开并清空人脸库循环得到识别结果体验加oldname判断写完更新oldname完整每次对上都写

五、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

负责任写入先问「这一次该不该记」:比对给出姓名后,同一人连续出现时,体验只记第一次;完整程序每次都追加。文件里会留下姓名和时间。
知识点本课怎么理解
为什么要 oldname摄像头一直对着同一个人时,循环会多次得到同一个 x。体验用 oldname,姓名没变就不写。
完整会连写完整程序只要 x 不是 null 就 open、write、close,文件会很快变长。
误识也会进文件两套都是对上名字就写。对错了也会留下一行,回看文件时要核对现场。
仍可补录两套按 B1 仍可按张三、李四…登记。人决定要不要再往库里加脸。

先让体验对着同一人看文件是不是只多一行,再跑完整程序看会不会连写。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant「十学期兴趣课程/学期5」。语音/视觉在仿真中可能需真机或按键近似;在 Mixly 工具栏点「运行 / 停止」。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

官方示例:4-3-2 人脸识别-人脸签到改进.mix。载入后运行。

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:编程体验用 oldname,同一姓名连续出现时只写第一次。

  2. 判断:完整程序也用 oldname,不会连续写入同一姓名。

  3. 本课说的「负责任写入」主要改的是?

  4. 识别结果为 null 时,两套都会?

  5. 编程体验写完一行后还会?

九、本节小结

本课认识负责任写入。编程体验用 oldname 避免同一人连续重复写入签到.txt;完整程序每次对上都写。