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
相关文章:
ESP32 MicroPython 颜色及二维码识别⑫
ESP32 MicroPython 颜色及二维码识别⑫ 1、颜色识别2、二维码识别 1、颜色识别 使用AI颜色识别功能,可以实现颜色辨别、颜色追踪等应用。颜色识别模型内置有9种常见的颜色识别和一种颜色学习识别模式。他们分别是: ai.COLOR_RED 表示识别红色 ai.COLOR…...
数据结构与算法编程题15
设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。 #include <iostream> using namespace std;typedef int Elemtype; #define ERROR 0; #define OK 1;typedef struct LNode {Elemtype data; …...
基于Mapmost Alpha工具快速搭建3D场景可视化大屏
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
OpenAI再次与Sam Altman谈判;ChatGPT Voice正式上线
11月22日,金融时报消息,OpenAI迫于超过700名员工联名信的压力,再次启动了与Sam Altman的谈判,希望他回归董事会。 在Sam确定加入微软后,OpenAI超700名员工签署了一封联名信,要求Sam和Greg Brockman&#x…...
技术是增长关键驱动!传音控股新专利亮相,看未来手机趋势
近日,有媒体报道从国家知识产权局发现传音控股取得多项突破性的技术专利,包括图像处理技术、准共址关系指示、panel状态处理等。当下的智能手机行业,已进入高度成熟阶段,技术是产业新一轮增长点已成为业内共识。 传音控股认为&am…...
C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值]
C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值] 矩阵创建图像显示与保存像素读取与赋值新建sample02项目,配置opencv4相关包,新建.cs进行测试 1.矩阵创建 //创建空白矩阵 var dst new Mat()//创建并赋…...
执行npm的时候报权限问题的解决方案
我们在执行npm操作的过程中,会出现以下权限问题,解决方案: 管理员身份 运行cmd 切换目录到要执行命令的文件下 再进行npm操作即可...
【实用】PPT没几页内存很大怎么解决
PPT页数很少但导出内存很大解决方法 1.打开ppt点击左上角 “文件”—“选项” 2.对话框选择 “常规与保存” (1)如果想要文件特别小时可 取消勾选 “将字体嵌入文件” (2)文件大小适中 可选择第一个选项 “仅最入文档中所用的字…...
【Docker】从零开始:8.Docker命令:Commit提交命令
【Docker】从零开始:8.Docker命令:Commit命令 基本概念镜像镜像分层什么是镜像分层为什么 Docker 镜像要采用这种分层结构 本章要点commit 命令命令格式docker commit 操作参数实例演示1.下载一个新的ubuntu镜像2.运行容器3.查看并安装vim4.退出容器5提交自己的镜像…...
【深度学习】神经网络术语:Epoch、Batch Size和迭代
batchsize:中文翻译为批大小(批尺寸)。 简单点说,批量大小将决定我们一次训练的样本数目。 batch_size将影响到模型的优化程度和速度。 为什么需要有 Batch_Size : batchsize 的正确选择是为了在内存效率和内存容量之间寻找最…...
谈谈你对mvc和mvvm的理解
MVC和MVVM是软件开发中两种常见的架构模式,各自有不同的优缺点。 MVC(Model-View-Controller)是一种经典的架构模式,将应用程序分为三个部分:模型(Model)、视图(View)和…...
C语言每日一题(35)有效的括号
力扣网 20 有效的括号 题目描述 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右…...
【DevOps】Git 图文详解(七):标签管理
Git 图文详解(七):标签管理 标签(Tags)指的是某个分支某个特定时间点的状态,是对某一个提交记录的 固定 “指针” 引用。一经创建,不可移动,存储在工作区根目录下 .git\refs\tags。可…...
BootStrap【表格二、基础表单、被支持的控件、表单状态】(二)-全面详解(学习总结---从入门到深化)
目录 表格二 表单_基础表单 表单_被支持的控件 表单_表单状态 表格二 紧缩表格 通过添加 .table-condensed 类可以让表格更加紧凑,单元格中的内补(padding)均会减半 <table class"table table-condensed table-bordered"…...
亿赛通电子文档安全管理系统UploadFileFromClientServiceForClient接口存在任意文件上传漏洞 附POC
@[toc] 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 亿赛通电子文档安全管理系统接口简介 微信…...
SPSS系统聚类
前言: 本专栏参考教材为《SPSS22.0从入门到精通》,由于软件版本原因,部分内容有所改变,为适应软件版本的变化,特此创作此专栏便于大家学习。本专栏使用软件为:SPSS25.0 本专栏所有的数据文件请点击此链接下…...
【ArcGIS Pro微课1000例】0033:ArcGIS Pro处理cad数据(格式转换、投影变换)
文章目录 一、cad dwg转shp1. 导出为shp2. cad至地理数据库3. data interoperability tools二、shp投影变换一、cad dwg转shp 1. 导出为shp 加载cad数据,显示如下: 选择需要导出的数据,如面状,右键→数据→导出要素: 导出要素参数如下,点击确定。 导出的要素不带空间参…...
【小呆的力学笔记】有限元专题之循环对称结构有限元原理
文章目录 1. 循环对称问题的提出2. 循环对称条件2.1 节点位移的循环对称关系2.2 节点内力的循环对称关系 3. 在平衡方程中引入循环对称条件 1. 循环对称问题的提出 许多工程结构都是其中某一扇面的n次周向重复,也就是是周期循环对称结构。如果弹性体的几何形状、约…...
云端导览,数字互动 | 拓世法宝AI数字人一体机助力全新旅游时代
《中国旅行消费趋势洞察白皮书(2023版)》显示,消费者旅行习惯已从“到此一游”变为“深度在地”,更强调在旅游中充实自我、学习新知识。 (《中国旅行消费趋势洞察白皮书(2023版》截图) 从这些资…...
PTA-快速幂
要求实现一个递归函数,高效求ab(1≤a,b≤62,ab<263)。 函数接口定义: long long int pow(int a, int b); 其中a 、b 是用户传入的参数。 裁判测试程序样例: #include<iostream> using namespace std; long long int pow(int a,…...
Pixel Aurora Engine企业级部署:RBAC权限控制的像素生成SaaS服务
Pixel Aurora Engine企业级部署:RBAC权限控制的像素生成SaaS服务 1. 产品概述 Pixel Aurora Engine是一款基于AI扩散模型的高端像素艺术生成工作站,专为企业级创意工作流设计。这款工具将现代AI技术与复古像素美学完美融合,为用户提供独特的…...
如何高效下载抖音内容:免费开源工具的完整指南
如何高效下载抖音内容:免费开源工具的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音…...
毫米波雷达智能家居传感器:RoomSense IQ技术解析
1. RoomSense IQ 模块化房间监测器深度解析在智能家居领域,人体存在检测一直是个技术难点。传统方案如红外传感器只能检测运动,而无法判断静止的人体;摄像头又涉及隐私问题。RoomSense IQ通过毫米波雷达技术解决了这一痛点,配合ES…...
【ImportError: libGL.so.1】
解决方法:ImportError: libGL.so.1: cannot open shared object file: No such file or directory问题描述 在服务器运行import cv2 时报错 Traceback (most recent call last):File "/opt/data/private/InfiniteYou-main/test.py", line 22, in <modu…...
3步解决Chatbox API连接失败:快速搞定AI客户端网络配置问题
3步解决Chatbox API连接失败:快速搞定AI客户端网络配置问题 【免费下载链接】chatbox Powerful AI Client 项目地址: https://gitcode.com/GitHub_Trending/ch/chatbox 你是否正在使用Chatbox这个强大的AI桌面客户端时,突然遇到消息发送失败、API…...
别再只盯着PCIe配置空间了!手把手带你玩转CXL RCRB与MMIO寄存器
深入解析CXL RCRB与MMIO寄存器:硬件工程师的实战手册 如果你是一位熟悉PCIe但刚开始接触CXL的硬件工程师,可能会遇到这样的困惑:为什么传统的PCIe配置空间扫描方法在CXL设备上失效了?答案就藏在RCRB这个关键机制中。本文将带你深入…...
VMware Workstation Pro 17 免费激活终极指南:获取数千个有效许可证密钥的完整教程
VMware Workstation Pro 17 免费激活终极指南:获取数千个有效许可证密钥的完整教程 【免费下载链接】VMware-Workstation-Pro-17-Licence-Keys Free VMware Workstation Pro 17 full license keys. Weve meticulously organized thousands of keys, catering to all…...
无老板公司自治投票程序,颠覆公司老板决策制,全员链上投票决定事务,实现去中心化小微团队管理。
整体定位为:小微团队去中心化管理实验原型,不包含政治主张,仅从技术与组织设计角度探讨“老板角色弱化”的可能性。一、实际应用场景描述在 3–15 人的小型创业团队、DAO 实验小组、自由职业者协作网络中,常见如下治理模式&#x…...
光储系统控制与光伏阵列故障检测【附代码】
✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,查看文章底部二维码(1)改进粒子群与扰动观察融合的全局MPPT控制ÿ…...
终极视频下载指南:如何使用QuickCut轻松保存B站、YouTube等平台视频
终极视频下载指南:如何使用QuickCut轻松保存B站、YouTube等平台视频 【免费下载链接】QuickCut Your most handy video processing software 项目地址: https://gitcode.com/gh_mirrors/qu/QuickCut QuickCut是一款功能强大的视频处理软件,尤其在…...
