当前位置: 首页 > news >正文

ESP32 MicroPython 颜色及二维码识别⑫

ESP32 MicroPython 颜色及二维码识别⑫

    • 1、颜色识别
    • 2、二维码识别

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

http://www.lryc.cn/news/240121.html

相关文章:

  • 数据结构与算法编程题15
  • 基于Mapmost Alpha工具快速搭建3D场景可视化大屏
  • OpenAI再次与Sam Altman谈判;ChatGPT Voice正式上线
  • 技术是增长关键驱动!传音控股新专利亮相,看未来手机趋势
  • C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值]
  • 执行npm的时候报权限问题的解决方案
  • 【实用】PPT没几页内存很大怎么解决
  • 【Docker】从零开始:8.Docker命令:Commit提交命令
  • 【深度学习】神经网络术语:Epoch、Batch Size和迭代
  • 谈谈你对mvc和mvvm的理解
  • C语言每日一题(35)有效的括号
  • 【DevOps】Git 图文详解(七):标签管理
  • BootStrap【表格二、基础表单、被支持的控件、表单状态】(二)-全面详解(学习总结---从入门到深化)
  • 亿赛通电子文档安全管理系统UploadFileFromClientServiceForClient接口存在任意文件上传漏洞 附POC
  • SPSS系统聚类
  • 【ArcGIS Pro微课1000例】0033:ArcGIS Pro处理cad数据(格式转换、投影变换)
  • 【小呆的力学笔记】有限元专题之循环对称结构有限元原理
  • 云端导览,数字互动 | 拓世法宝AI数字人一体机助力全新旅游时代
  • PTA-快速幂
  • 【深度学习】Transformer简介
  • Linux 是否被过誉了?
  • 【SpringBoot篇】Spring_Task定时任务框架
  • 智能导视电子指路牌是什么?
  • Android 13.0 无源码app修改它的icon图标
  • 【钉钉】通过链接方式跳转到应用机器人聊天窗口
  • Linux平台下使用.NET Core访问Access数据库
  • SpringCloud - 新版淘汰 Ribbon,在 OpenFeign 中整合 LoadBalancer 负载均衡
  • [MySQL-基础]SQL语句
  • CentOS 7实现类似于Kali Linux中的自动补全功能
  • skywalking中gateway的拓扑图没有出现