ESP32 MicroPython 颜色及二维码识别⑫

ESP32 MicroPython 颜色及二维码识别⑫

1、颜色识别

使用AI颜色识别功能,可以实现颜色辨别、颜色追踪等应用。颜色识别模型内置有9种常见的颜色识别和一种颜色学习识别模式。他们分别是:

ai.COLOR_RED 表示识别红色
ai.COLOR_ORANGE 表示识别橙色
ai.COLOR_YELLOW 表示识别黄色
ai.COLOR_GREEN 表示识别绿色
ai.COLOR_CYAN 表示识别青色
ai.COLOR_BLUE 表示识别蓝色
ai.COLOR_PURPLE 表示识别紫色
ai.COLOR_WHITE 表示识别白色
ai.COLOR_BLACK 表示识别黑色
ai.COLOR_STUDY 表示学习颜色模式

对于学习颜色识别模式(ai.COLOR_STUDY),需要先将摄像头对准要识别的颜色,进行学习,学习成功后即可完成特定颜色识别。

实验目的
使用摄像头的AI颜色识别模型,识别红色。并在显示屏显示出图像
实验内容
颜色识别模型中使用到2层图像, 所以本次例程配置摄像头图层为2
cam.OV2640(frame=2) ,构建颜色识别模型参数为设置识别红色ai.colorDetection( color = ai.COLOR_RED,displayType=1)。之后启动AI识别,在主循环不停读取识别结果,并在调试窗口打印识别信息。
参考代码
参考代码文件可以在资料包文件夹“智能小车mpy例程\基础实验\11-AI摄像头实验\06-颜色识别”文件夹下的main.py ,下面为完整代码内容:

'''
AI摄像头实验-颜色识别
'''
from machine import Pin,Timer  #导入Pin引脚和Time定时器模块
from lcd import LCD20          #导入2.0寸LCD模块
import cam                     #导入摄像头模块
import time,network
import ai                      #导入AI模块

#颜色值定义,(R,G,B) 0~255代表颜色值
red = (255,0,0)         #红色
green = (0,255,0)       #绿色
blue = (0,0,255)        #蓝色
white = (255,255,255)   #白色
back = (0,0,0)          #黑色

#创建LCD对象 dir 显示方向为竖屏,1、3竖屏,2、4屏横
ld=LCD20()  #默认为竖屏1

# 整屏填充指定颜色
ld.fill(back)

myCam = cam.OV2640(frame=2)    #创建摄像头对象,图层为2层

#设置摄像头尺寸240X240
myCam.framesize(cam.LCD240X240) #显示屏对应的分辨率 方便显示
myCam.set_hmirror(0) #设置摄像头水平镜像关闭
'''
创建AI颜色检测对象
color:颜色检测类型
COLOR_RED:红色
displayType: 显示方式为 1-LCD,2-WEB网页显示
'''
myAi = ai.colorDetection( color = ai.COLOR_RED,displayType=1) #启动红色检测,LCD显示方式

myAi.start() #启动AI检测

while True:
    mValue=myAi.read() #读取检测到数据
    print(mValue)
    time.sleep_ms(100)

实验结果
运行程序后,使用摄像头对准要识别的颜色,摄像头区域有红色的可以识别出来。并用矩形框标记出来,调试界面打印输出相应的区域矩形。

在这里插入图片描述

在这里插入图片描述

2、二维码识别

实验目的
使用小车摄像头识别二维码信息
实验内容
通过摄像头识别二维码中的内容,并且在调试窗口打印出来。
参考代码
参考代码文件可以在资料包文件夹“智能小车mpy例程\基础实验\11-AI摄像头实验\07-二维码识别”文件夹下的main.py ,下面为完整代码内容:

'''
AI摄像头实验-二维码识别
'''
from machine import Pin,Timer  #导入Pin引脚和Time定时器模块
from lcd import LCD20          #导入2.0寸LCD模块
import cam                     #导入摄像头模块
import time
import ai                      #导入AI模块

#颜色值定义,(R,G,B) 0~255代表颜色值
red = (255,0,0)        #红色
green = (0,255,0)      #绿色
blue = (0,0,255)       #蓝色
white = (255,255,255)  #白色
back = (0,0,0)         #黑色

#创建LCD对象 dir 显示方向为竖屏,1、3竖屏,2、4屏横
ld=LCD20()  #默认为竖屏1

# 整屏填充指定颜色
ld.fill(back)

myCam = cam.OV2640()    #创建摄像头对象,图层为1层

#设置摄像头尺寸240X240
myCam.framesize(cam.LCD240X240) #显示屏对应的分辨率 方便显示
myCam.set_hmirror(0) #设置摄像头水平镜像关闭
'''
创建AI二维码扫描对象
'''
myAi = ai.codeRecognition() #只支持LCD显示,监测结果在显示屏显示,只支持字符串显示,中文显示出异常

myAi.start()                #启动AI检测

while True:
    mValue=myAi.read() #读取检测到数据
    if mValue != None: #读取结果不为空,表示已经扫描到二维码
        print(mValue)
    time.sleep_ms(100)

实验结果
运行程序后摄像头对准下面二维码,二维码信息为“hello mycar”,识别到后在显示屏显示出识别内容,并且在调试界面打印出识别结果。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
相关代码及固件:
https://download.csdn.net/download/lu330274924/88549191

智能小车购买链接
技术支持抖音:易驱达Easy Drive Coming
淘宝官方商城:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-18887194911.15.135014bdaKI6mV&id=715385110550

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
esp32micropython是为ESP32系列微控制器提供的Micropython文档。Micropython是一种精简的Python编程语言版本,专门针对嵌入式系统而设计。ESP32是一款功能强大的微控制器,可用于物联网设备、嵌入式系统和机器人等应用。 esp32micropython文档详细介绍了如何在ESP32上使用Micropython进行开发。它涵盖了Micropython的基础知识、语法和语言特性,以及ESP32的硬件特性和功能。文档包括以下主题: 1. 安装和设置:文档详细说明了如何安装Micropython固件和开发环境,以及如何将固件烧录到ESP32微控制器上。 2. Micropython语法:文档提供了Micropython的语法和语言特性的详细介绍,包括变量、数据类型、条件语句、循环语句和函数等。 3. ESP32硬件功能:文档介绍了ESP32的硬件特性和功能,包括GPIO、串口通信、WiFi和蓝牙等。 4. Micropython库:文档介绍了可以在ESP32上使用的各种Micropython库,包括用于GPIO控制、网络通信和传感器读取等功能。 5. 示例和项目:文档提供了许多实际的示例和项目,展示了如何在ESP32上使用Micropython进行各种应用开发,例如控制LED灯、读取温湿度传感器和连接到云平台等。 通过阅读esp32micropython文档,开发人员可以快速了解如何使用MicropythonESP32上进行开发,并利用ESP32的强大功能去构建各种物联网应用和嵌入式系统。该文档提供了全面的资源和指导,为开发者提供了一个良好的起点,以便探索和开发基于ESP32的项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值