auroraAA 发表于 2024-5-10 09:49:01

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

项目介绍如何在无人讲解的情况下,快速熟悉所在位置的信息呢?比如,新到学校建筑的功能。可以设置二维码并利用扫码识别技术,来解决这个问题。想象一下,如果在每个校园地标处都设置一个二维码,新同学只需要扫描这个二维码,就能获取到关于这个地方的信息,这样他们就能快速且自主地熟悉学校环境。本节课我们就使用行空板和摄像头,制作一个扫码导览装置,实现摄像头扫描二维码,然后判断识别到的内容,自动显示介绍文字。



1 项目功能本项目将制作一个扫码导览装置,通过按下行空板A键控制摄像头识别指定二维码,然后判断识别结果,并在行空板屏幕上显示对应介绍信息。
2 硬件清单
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/61b445caeb9749e2f891f5a6fdb089c2.png

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




识别二维码,显示信息
1 连接硬件首先,将USB摄像头接入行空板USB接口。然后,将行空板通过USB线连接到电脑上,等待行空板屏幕亮起,并显示行空板LOGO,表示连接成功。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/117c67b5510d77be0c5355cf701f79c0.png

2 准备软件按照下面步骤,设置Mind+软件编程方式为 Python图形化编程,并完成行空板的加载和连接。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/973879de4ff89ed2149132e2ef076474.png


3 编写程序接下来,我们将从二维码识别库的加载到自动识别准备好的二维码,逐步编程实现二维码的自动识别和判断。(1)加载二维码识别库二维码识别库并不属于Python内置库,而是属于用户自定义库功能,所以需要第三方依赖库和用户自定义库,安装方法如下(行空板V0.3.5版固件内置了该库,不用安装)。首先,打开本课课程资料包的“程序”文件夹,找到“安装库”文件夹,,并将文件夹拖入“行空板的文件”中。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/b546bb445ef275edb86ba3f08fe0a2be.png

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

当终端区出现“安装完成”,表示依赖库安装完成。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/79a6bab2a230e14f81a90ec8e387f42b.png

现在,切换回刚才我们打开的图形化模式程序,加载二维码识别图形化库。进入“扩展库”中的“用户库”检索“二维码”,点击“二维码解码”图形化库,完成加载。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/9b06e47fa93e9f7031354bacc9cfea0e.png

(2)识别二维码加载完二维码识别指令后,我们就可以开始编程实现摄像头扫描识别二维码了。编程流程为:初始化摄像头 → 读取摄像头画面图片 → 识别图片中的二维码 → 判断图片中是否存在二维码 → 显示识别窗口 。完整示例代码如下:
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/65cacde410e1d0087499ce4cc9a4f925.png

(3)识别成功显示介绍内容设置按下按键A触发摄像头扫描识别二维码。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/de88513e03a5321e0c744d8740ad7022.png

建立 识别内容变量,帮助完成识别成功的判断。开始识别时,识别内容 为””(空);当 识别内容 不为空时,表示识别成功,停止识别,即识别 重复执行直到 识别内容 不为空,关闭识别窗口和摄像头。实现程序如下图:注意:下面程序中的引号均为英文符号,初始化时,双引号内没有任何符号。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/66110a6dc506b838928fc410564a73fc.png

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

注意:行空板上显示的图片需要提前放入程序文件夹中(放入方法如下图),使用时在 显示图片 和 更新图片源 指令中填写图片名称。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/44a9acb8ffb0d952032ba4aaedcf58e6.png


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


按下A键,摄像头打开,行空板显示摄像头画面;然后用摄像头扫描附录中ID1对应的二维码,识别成功,屏幕跳转到“综合大楼介绍界面”。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/86c439d55e2f8cd9d73472a20cedf53d.png


5 小试牛刀使用附录中的“ID2”二维码,实现用装置扫描食堂二维码,获取食堂的介绍信息。提示:食堂背景图“bg(食堂).png”在“素材”文件夹。核心程序如下所示。
https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/44b3df9c2785bf3871a5ebae4938a219.png


附录 二维码样例

https://makelogimg.dfrobot.com.cn/makelog/652ce4c9f6f6eea679b51bc3/e92a836e4e9342772b3ea5c288b96ce7.png







曾哈哈哈超 发表于 2024-5-14 16:43:20

楼主,为什么按照你的步骤来,我的会报错啊,求解答

easy猿 发表于 2024-5-14 22:17:41

老师下载你的程序解压是乱码

auroraAA 发表于 2024-5-15 14:29:12

easy猿 发表于 2024-5-14 22:17
老师下载你的程序解压是乱码

hihi 可能是我mac上传 有的电脑解压出乱码!你可以加我微我再发给你一下吧:Decpupiii

ki123456 发表于 2024-5-15 16:10:14

本帖最后由 ki123456 于 2024-5-15 16:16 编辑

曾哈哈哈超 发表于 2024-5-14 16:43
楼主,为什么按照你的步骤来,我的会报错啊,求解答
用行空板运行的吗?外接摄像头是否正常,你的摄像头选择超时了。我看代码好像也不是最新的库,要不你把mind+版本也发出来看看

曾哈哈哈超 发表于 2024-5-16 17:51:53

ki123456 发表于 2024-5-15 16:10
用行空板运行的吗?外接摄像头是否正常,你的摄像头选择超时了。我看代码好像也不是最新的库,要不你把min ...

感谢感谢,是我外接摄像头的问题,今天换了摄像头问题解决了,非常好用,感谢

刘睿鹏 发表于 2024-5-29 20:54:08

有意思,看起来还不错,很有应用前景

呼呼呼啦啦啦 发表于 2024-6-4 12:37:18

我想问一下
二维码需要放在文件里面吗?附录是在哪里呀

auroraAA 发表于 2024-6-5 14:54:29

呼呼呼啦啦啦 发表于 2024-6-4 12:37
我想问一下
二维码需要放在文件里面吗?附录是在哪里呀

附录在文章结尾处哦 ID1和ID2两个码

我是一个猪2 发表于 2024-9-23 14:40:57

这是智能识别附录里的两个二维码,其它二维码识别不了?

我是一个猪2 发表于 2024-9-23 14:42:33

我是一个猪2 发表于 2024-9-23 14:40
这是智能识别附录里的两个二维码,其它二维码识别不了?

认真看了一下,只能识别指定二维码
页: [1]
查看完整版本: 基于行空板的QR Code二维码检测导览装置