单元三

第9课 图像识别-二维码识别

任务场景:图像识别-二维码识别
任务场景:图像识别-二维码识别

一、任务目标

对准二维码读出内容,识别成功会嘀一声。

二、我们要学什么

  • 学习要点:二维码识别|读到内容就嘀一声
  • 本课过关:能完成:说出二维码识别就是用 QRReader 读出内容;载入编程体验,指出读到就按 659、100 毫秒嘀一声,并把内容打印到串口;再运行完整程序,指出在彩屏上预览,读到后嘀一声,在框的位置写出内容并画红框。
  • 示例对齐:编程体验对应 「3-1-1 图像识别-二维码识别」;完整程序对应 「3-1-2 图像识别-二维码识别进阶」。

三、本节要点

本课要利用图像识别认识二维码识别:模型跑成功才给结果。重难点是分清两套——编程体验 simple_run 读到就打印;完整程序自己 capture、run,把内容和框画到彩屏。要点对齐「二维码识别|读到内容就嘀一声」。

1读场景镜头对准二维码,读出内容并嘀一声
2对要点二维码识别|读到内容就嘀一声
3载入运行十学期兴趣课程积木/代码

四、解题思路

任务:利用图像识别,用两套程序认识二维码识别。编程体验读到就嘀一声并打印;完整程序在彩屏预览并在框上写内容。请把清晰二维码对准摄像头。

本课主要用到:摄像头;彩屏 TFT;蜂鸣器;串口。

  1. 1利用图像识别,对准二维码,看有没有嘀一声和内容。
  2. 2创建摄像头和 QRReader。
  3. 3编程体验用 simple_run 取 data,读到就发声并打印。
  4. 4完整程序先显示画面再 Model.run;完整在框的位置写内容、画红框,并 write。
  5. 5完成补全与从头编写,并对照现象。

流程示意

创建QRReader循环跑模型体验读到就打印嘀一声659完整在框上写内容完成补全与从头编写并对照现象

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
AI 摄像头初始化
板载智能加载视觉识别相关模型。创建 QRReader。体验宽高等于摄像头像素;完整写成 240×240。
运行模型
板载智能对当前画面做一次推理。体验用 simple_run 直接取 data;完整对当前帧 Model.run。
模型是否成功
板载智能查询本次推理是否成功。体验 if s;完整 if analyze(_results) 才嘀一声。
蜂鸣器发声
执行器按音调与时长播放一声。读到就响,音调参数 659,时长 100 毫秒。
识别数量统计
板载智能统计识别到的目标数量。完整用 analyze(...,"len") 决定循环几次写内容和框。
打印输出
串口在控制台打印一行信息,便于调试。编程体验把读到的内容 s 打印到串口。
格式化文字
文本按模板填入数值或文字。取出内容、置信度、坐标等项,便于打印或上屏。
无识别结果
板载智能判断是否没有识别到目标。判断这次有没有读到码。没读到就不发声。
无猫脸/人脸
板载智能未检测到猫脸或人脸。本课取识别内容的接口之一;二维码用 data 项。
无坐标识别
板载智能未得到目标坐标。完整用 box 项得到框的位置和宽高,再画红框。
打印
串口把内容显示到输出区。把识别内容打到串口,方便对照实物。
TFT 显示文字
显示在板载彩屏上显示一段文字。完整在框的 x、y 写出这次读到的内容。

六、知识点讲解

二维码是黑白小方块排成的正方形图案,把网址或文字编在里面。检测就是在摄像头画面里找出这块图案,再把编码还原成可读内容。

先弄清:二维码是图案编码,检测是找图案再读内容。再进编程练习对照。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木均来自 MixGo SANT 十学期兴趣课程/学期A。若题目带外设 design,载入时会自动导入接线。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

十学期兴趣课程:3-1-1 图像识别-二维码识别.mix。载入后运行。

八、课堂练习

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

  1. 判断:编程体验读到二维码就嘀一声,并把内容打印到串口。

  2. 判断:完整程序只在串口打印,不在彩屏上画框。

  3. 本课说的「二维码识别」指的是?

  4. 编程体验和完整程序的主要差别是?

  5. 运行编程体验,对准清晰二维码应听到?

九、本节小结

本课认识二维码识别。编程体验读到就嘀一声并打印;完整程序在彩屏预览,并在框上写出内容。