基于OpenMV识别数字及程序说明

OpenMV简介

OpenMV是一个开源、低成本且功能强大的机器视觉模块。它基于STM32F427CPU,集成了OV7725摄像头芯片,能在小巧的硬件模块上,用C语言高效地实现核心机器视觉算法,并提供了Python编程接口,使得图像处理的复杂度大大降低。

OpenMV的功能非常多样,包括但不限于板级控制、画图、图像滤波、拍摄、特征检测、颜色追踪、codes以及测距等。这些功能使得OpenMV在多个领域都有广泛的应用,例如智能监控、机器人导航、工业视觉、智能家居安防、工业质检、交通监控以及农业智能化等。

OpenMV的特点主要体现在以下几个方面:

  1. 简单易用:OpenMV使用Python编程语言,使得用户能够更轻松地处理图像。
  2. 快速响应:由于采用了高性能处理器,OpenMV能够实时响应图像处理需求。
  3. 多功能性:OpenMV支持多种图像处理功能和算法,能够满足用户多样化的需求。
  4. 社区支持:OpenMV拥有活跃的社区和丰富的资源,方便用户学习和交流。

总的来说,OpenMV是一个强大的机器视觉模块,具有广泛的应用前景和潜力。

代码应用分析

OpenMV跟嵌入式系统结合可以实现许多智能化的应用案例,本文分享的识别图像数字的案例就是基于OpenMV,同时对于OpenmV3和OpenmV4都适用,配置了相应串口用于与上位机或者嵌入式系统通信。

首先是导入库以及初始化,主要是对传感器进行初始化。第一行是导入Python的标准库和OpenMV Cam的特定库;第二行是从image模块中导入两个常量,用于设计模板匹配的算法;第三行是IO口、定时器和LED的导入。后面都是默认的设置函数,值得注意的是sensor.set_windowing(0, 40, 160, 40)设置了观察窗口的大小,这点比较重要,能够减少处理的数据量,避免浪费资源。

然后加载模板图片,数字识别的原理还是图像识别,OpenmV要先记录模板图片的特征,然后将实际的数字图片跟模板图片对比,判断实际的数字图片跟哪一个模板图片相似度最高,以此来确定数字图片的数字。

最后就是利用img.find_template函数来匹配识别图片和模板图片的相似度。Template是要对比的模板;0.8是相似度阈值,只有当模板与图像的相似度超过了这个阈值时,才认为与模板匹配;step=1表示在搜索时,每次移动一个像素的距离来寻找匹配项,step越小搜索越精确,但会增加搜索时间;roi表示搜索区域;search=SERACH_EX表示搜索算法。当图像与模板匹配时,函数返回值R为匹配区域的位置。

怎么样,简单吧!以上是利用OpenMV识别数字的代码,从以上分析中可以看出,其实不仅仅是识别数字,只要具有某种明显特征可以用来判断,就可以利用上面的算法来识别。下面增大一下难度,假如图像是一排数字,想要识别目标数字所在位置是在左边还是右边,应该怎么办呢?

在进行这个任务之前我们先定义串口,用于调试或者接收嵌入式系统的信息,这里设置其波特率为115200。

然后定义一下串口接收函数,接收目标数字。这里定义了数据帧,防止接收出错。

上位机或嵌入式系统将想要找的数字发送到OpenMV,然后OpenMV再去识别数字并且判断数字位于什么位置。这里仍然需要调用img.find_template函数。识别出来数字之后返回R值是匹配区域的坐标,判断坐标的范围即可以判断数字所在位置。

最后,将识别的信息利用串口发送到上位机或者嵌入式系统中就可以了,识别效果如下图所示。

其他说明

上述介绍的代码实际应用过,可以稳定运行,需要相关程序代码文件用于借鉴学习可以私聊。

相关推荐
DianSan_ERP14 小时前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
在人间耕耘14 小时前
HarmonyOS Vision Kit 视觉AI实战:把官方 Demo 改造成一套能长期复用的组件库
人工智能·深度学习·harmonyos
够快云库14 小时前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
Eloudy15 小时前
CHI 开发备忘 08 记 -- CHI spec 08
人工智能·arch·hpc
homelook15 小时前
Transformer与电池管理系统(BMS)的结合是当前 智能电池管理 的前沿研究方向
人工智能·深度学习·transformer
ZPC821015 小时前
docker 镜像备份
人工智能·算法·fpga开发·机器人
ZPC821015 小时前
docker 使用GUI ROS2
人工智能·算法·fpga开发·机器人
ssshooter15 小时前
免费和付费 AI API 选择指南
人工智能·aigc·openai
掘金酱15 小时前
「寻找年味」 沸点活动|获奖名单公示🎊
前端·人工智能·后端