项目介绍
如何在无人讲解的情况下,快速熟悉所在位置的信息呢?比如,新到学校建筑的功能。
可以设置二维码并利用扫码识别技术,来解决这个问题。想象一下,如果在每个校园地标处都设置一个二维码,新同学只需要扫描这个二维码,就能获取到关于这个地方的信息,这样他们就能快速且自主地熟悉学校环境。
本节课我们就使用行空板和摄像头,制作一个扫码导览装置,实现摄像头扫描二维码,然后判断识别到的内容,自动显示介绍文字。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/1714170ebdc9afb46ea3546ef0c4971a.png)
1 项目功能
本项目将制作一个扫码导览装置,通过按下行空板A键控制摄像头识别指定二维码,然后判断识别结果,并在行空板屏幕上显示对应介绍信息。
2 硬件清单
![截屏2024-05-09 下午4.45.28.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/61b445caeb9749e2f891f5a6fdb089c2.png)
3 软件清单
Mind+编程软件(下载地址:https://www.mindplus.cc)
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/4a21464f735fd20040aa40c079da44c6.png)
识别二维码,显示信息
1 连接硬件
首先,将USB摄像头接入行空板USB接口。然后,将行空板通过USB线连接到电脑上,等待行空板屏幕亮起,并显示行空板LOGO,表示连接成功。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/117c67b5510d77be0c5355cf701f79c0.png)
2 准备软件
按照下面步骤,设置Mind+软件编程方式为 Python图形化编程,并完成行空板的加载和连接。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/973879de4ff89ed2149132e2ef076474.png)
3 编写程序
接下来,我们将从二维码识别库的加载到自动识别准备好的二维码,逐步编程实现二维码的自动识别和判断。
(1)加载二维码识别库
二维码识别库并不属于Python内置库,而是属于用户自定义库功能,所以需要第三方依赖库和用户自定义库,安装方法如下(行空板V0.3.5版固件内置了该库,不用安装)。
首先,打开本课课程资料包的“程序”文件夹,找到“安装库”文件夹,,并将文件夹拖入“行空板的文件”中。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/b546bb445ef275edb86ba3f08fe0a2be.png)
等待上传完成后,在“行空板中的文件”里就能看到“安装库”文件夹。然后,将编程模式切换为代码模式,双击打开“安装库”文件夹中的“安装库.py”文件,出现安装代码,点击运行,自动安装依赖库。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/0afef444d285080dc780931631f36313.png)
当终端区出现“安装完成”,表示依赖库安装完成。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/79a6bab2a230e14f81a90ec8e387f42b.png)
现在,切换回刚才我们打开的图形化模式程序,加载二维码识别图形化库。
进入“扩展库”中的“用户库”检索“二维码”,点击“二维码解码”图形化库,完成加载。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/9b06e47fa93e9f7031354bacc9cfea0e.png)
(2)识别二维码
加载完二维码识别指令后,我们就可以开始编程实现摄像头扫描识别二维码了。
编程流程为:初始化摄像头 → 读取摄像头画面图片 → 识别图片中的二维码 → 判断图片中是否存在二维码 → 显示识别窗口 。完整示例代码如下:
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/65cacde410e1d0087499ce4cc9a4f925.png)
(3)识别成功显示介绍内容
设置按下按键A触发摄像头扫描识别二维码。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/de88513e03a5321e0c744d8740ad7022.png)
建立 识别内容变量,帮助完成识别成功的判断。开始识别时,识别内容 为””(空);当 识别内容 不为空时,表示识别成功,停止识别,即识别 重复执行直到 识别内容 不为空,关闭识别窗口和摄像头。实现程序如下图:
注意:下面程序中的引号均为英文符号,初始化时,双引号内没有任何符号。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/66110a6dc506b838928fc410564a73fc.png)
识别成功后,跳转到介绍内容页。内容介绍页由图片和文字组成,当识别到二维码信息是指定编码时,替换显示对应的文字和图片即可。项目完整示例代码如下:
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/ff07b25222ce50b252bbb8924ac2894a.png)
注意:行空板上显示的图片需要提前放入程序文件夹中(放入方法如下图),使用时在 显示图片 和 更新图片源 指令中填写图片名称。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/44a9acb8ffb0d952032ba4aaedcf58e6.png)
4 运行程序
点击运行按钮,运行程序,行空板屏幕上显示视频画面。程序运行后,拿起摄像头对准“附录”中第一个二维码。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/92a89447d049cd620aa21711892d0886.png)
按下A键,摄像头打开,行空板显示摄像头画面;然后用摄像头扫描附录中ID1对应的二维码,识别成功,屏幕跳转到“综合大楼介绍界面”。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/86c439d55e2f8cd9d73472a20cedf53d.png)
5 小试牛刀
使用附录中的“ID2”二维码,实现用装置扫描食堂二维码,获取食堂的介绍信息。
提示:食堂背景图“bg(食堂).png”在“素材”文件夹。核心程序如下所示。
![image.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/44b3df9c2785bf3871a5ebae4938a219.png)
附录 二维码样例
![截屏2024-05-09 下午4.58.22.png](https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/e92a836e4e9342772b3ea5c288b96ce7.png)
附件
周x来2024.05.18
真厉害
云中鹏亦海上鲲2024.05.09
真厉害