回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

基于行空板的QR Code二维码检测导览装置 简单

头像 auroraAA 2024.05.09 264 3

项目介绍

如何在无人讲解的情况下,快速熟悉所在位置的信息呢?比如,新到学校建筑的功能。

可以设置二维码并利用扫码识别技术,来解决这个问题。想象一下,如果在每个校园地标处都设置一个二维码,新同学只需要扫描这个二维码,就能获取到关于这个地方的信息,这样他们就能快速且自主地熟悉学校环境。

本节课我们就使用行空板和摄像头,制作一个扫码导览装置,实现摄像头扫描二维码,然后判断识别到的内容,自动显示介绍文字。

image.png

1 项目功能

本项目将制作一个扫码导览装置,通过按下行空板A键控制摄像头识别指定二维码,然后判断识别结果,并在行空板屏幕上显示对应介绍信息。

 

2 硬件清单

截屏2024-05-09 下午4.45.28.png

 

3 软件清单

Mind+编程软件(下载地址:https://www.mindplus.cc

image.png

 

 

识别二维码,显示信息

1 连接硬件

首先,将USB摄像头接入行空板USB接口。然后,将行空板通过USB线连接到电脑上,等待行空板屏幕亮起,并显示行空板LOGO,表示连接成功。

image.png

 

 

2 准备软件

按照下面步骤,设置Mind+软件编程方式为 Python图形化编程,并完成行空板的加载和连接。

image.png

 

3 编写程序

接下来,我们将从二维码识别库的加载到自动识别准备好的二维码,逐步编程实现二维码的自动识别和判断。

(1)加载二维码识别库

二维码识别库并不属于Python内置库,而是属于用户自定义库功能,所以需要第三方依赖库和用户自定义库,安装方法如下(行空板V0.3.5版固件内置了该库,不用安装)。

首先,打开本课课程资料包的“程序”文件夹,找到“安装库”文件夹,,并将文件夹拖入“行空板的文件”中。

image.png

 

等待上传完成后,在“行空板中的文件”里就能看到“安装库”文件夹。然后,将编程模式切换为代码模式,双击打开“安装库”文件夹中的“安装库.py”文件,出现安装代码,点击运行,自动安装依赖库。

image.png

 

当终端区出现“安装完成”,表示依赖库安装完成。

image.png

 

现在,切换回刚才我们打开的图形化模式程序,加载二维码识别图形化库。

进入“扩展库”中的“用户库”检索“二维码”,点击“二维码解码”图形化库,完成加载。

image.png

 

(2)识别二维码

加载完二维码识别指令后,我们就可以开始编程实现摄像头扫描识别二维码了。

编程流程为:初始化摄像头 → 读取摄像头画面图片 → 识别图片中的二维码 → 判断图片中是否存在二维码 → 显示识别窗口 。完整示例代码如下:

image.png

 

(3)识别成功显示介绍内容

设置按下按键A触发摄像头扫描识别二维码。

image.png

 

建立 识别内容变量,帮助完成识别成功的判断。开始识别时,识别内容 为””(空);当 识别内容 不为空时,表示识别成功,停止识别,即识别 重复执行直到 识别内容 不为空,关闭识别窗口和摄像头。实现程序如下图:

注意:下面程序中的引号均为英文符号,初始化时,双引号内没有任何符号。

image.png

 

识别成功后,跳转到介绍内容页。内容介绍页由图片和文字组成,当识别到二维码信息是指定编码时,替换显示对应的文字和图片即可。项目完整示例代码如下:

image.png

 

注意:行空板上显示的图片需要提前放入程序文件夹中(放入方法如下图),使用时在 显示图片 和 更新图片源 指令中填写图片名称。

image.png

 

4 运行程序

点击运行按钮,运行程序,行空板屏幕上显示视频画面。程序运行后,拿起摄像头对准“附录”中第一个二维码。

image.png

 

按下A键,摄像头打开,行空板显示摄像头画面;然后用摄像头扫描附录中ID1对应的二维码,识别成功,屏幕跳转到“综合大楼介绍界面”。

image.png

 

5 小试牛刀

使用附录中的“ID2”二维码,实现用装置扫描食堂二维码,获取食堂的介绍信息。

提示:食堂背景图“bg(食堂).png”在“素材”文件夹。核心程序如下所示。

image.png

 

附录 二维码样例

截屏2024-05-09 下午4.58.22.png

附件

评论

user-avatar
  • QFyXUwRx

    QFyXUwRx2024.10.23

    ID1 Traceback (most recent call last): File "/root/mindplus/cache/5二维码识别导览.mp/.cache-file.py", line 72, in <module> if (ShiBieNaRong == ID1): NameError: name 'ID1' is not defined

    0
    • 周x来

      周x来2024.05.18

      真厉害

      0
      • 云中鹏亦海上鲲

        云中鹏亦海上鲲2024.05.09

        真厉害

        0