文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于OpenMV如何实现数字识别功能

2023-06-25 13:06

关注

这篇文章主要介绍基于OpenMV如何实现数字识别功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

基于OpenMV的图像识别

OpenMV简介

什么是OpenMV

OpenMV是由美国克里斯团队基于MicroPython发起的开源机器视觉项目,目的是创建低成本,可扩展,使用python驱动的机器视觉模块。OpenMV搭载了MicroPython解释器,使其可以在嵌入式端进行python开发,关于MicroPython可以参照我之前的博客专栏:MicroPython. OpenMV基于32位,ARM Cortex-M7内核的OpenMV-H7, 并结合各种摄像头,可以进行多种机器视觉应用的实现,比如人脸检测,物体分类等。

OpenMV是一个开源,低成本,功能强大的机器视觉模块,以STM32F427CPU为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上,用C语言高效地实现了核心机器视觉算法,提供Python编程接口 。同时 OpenMV也是一个可编程的摄像头,通过Python语言可实现你想要的逻辑。而且摄像头本身也内置了一些图像处理的算法,使用起来也更加的方便,仅需要写一些简单的Python代码,即可轻松的完成各种机器视觉相关的任务。在此,我们通过OpenMV实现了数字识别。

在打开OpenMV摄像头链接电脑时,会弹出让你升级的窗口

这时切忌一定要选择Cancel键,

不能选择升级!!!

不能选择升级!!!

不能选择升级!!!

基于OpenMV如何实现数字识别功能

然后在进行下一步的操作

OpenMV中文入门视频教程

一、数字识别

数字识别的基础是需要配置使用NCC模板匹配。通过NCC模板的匹配可把

需要识别的数字模板图片保存到SD卡中,然后可进行下一步的识别。

可以通过打开模板匹配的历程来直接打开代码进行使用

基于OpenMV如何实现数字识别功能

基于OpenMV如何实现数字识别功能

如果运行出现这个窗口就说明没有保存模板图片

基于OpenMV如何实现数字识别功能

所以这时就需要创建一个模板图片:创建模板图片的详细视频教程

创建一个模板图片首先要打开一个helloworld历程文件

基于OpenMV如何实现数字识别功能

基于OpenMV如何实现数字识别功能

然后在helloworld历程文件中进行匹配0~9这样的基本数字,对这些数字进

行一一截取,用它们来作为我们的模板图片。

在右边的Frame Buffer框中进行截取,注意:不要点Zoom,因为Zoom展示

的是放大后的效果,在识别时可能会导致失帧。

然后点击左键选出一个框(如图所示)

基于OpenMV如何实现数字识别功能

选完框后点击右键选择Save Image selection to PC

基于OpenMV如何实现数字识别功能

最后把截取的数字图片进行保存,一定要保存到OpenMV的SD卡中,保存的文件名可自己

定义

基于OpenMV如何实现数字识别功能

把template.pgm改为你创建的模板图片的名称

基于OpenMV如何实现数字识别功能

(注意:模板图片的格式一定要是pgm的格式,转换格式可以在

https://convertio.co/zh/bmp-pgm/网站直接进行转换)

改完之后就可以运行

下面展示一些 有关数字识别的代码。

此代码为源代码,可根据自己的需求在上面进行改动。

代码来源:数字识别代码,可直接引用并修改

# Template Matching Example - Normalized Cross Correlation (NCC)## This example shows off how to use the NCC feature of your OpenMV Cam to match# image patches to parts of an image... expect for extremely controlled enviorments# NCC is not all to useful.## WARNING: NCC supports needs to be reworked! As of right now this feature needs# a lot of work to be made into somethin useful. This script will reamin to show# that the functionality exists, but, in its current state is inadequate.import time, sensor, imagefrom image import SEARCH_EX, SEARCH_DS# Reset sensorsensor.reset()# Set sensor settingssensor.set_contrast(1)sensor.set_gainceiling(16)# Max resolution for template matching with SEARCH_EX is QQVGAsensor.set_framesize(sensor.QQVGA)# You can set windowing to reduce the search image.#sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60))sensor.set_pixformat(sensor.GRAYSCALE)# Load template.# Template should be a small (eg. 32x32 pixels) grayscale image.template8 = image.Image("/8.pgm")template9 = image.Image("/9.pgm")clock = time.clock()# Run template matchingwhile (True):    clock.tick()    img = sensor.snapshot()    # find_template(template, threshold, [roi, step, search])    # ROI: The region of interest tuple (x, y, w, h).    # Step: The loop step used (y+=step, x+=step) use a bigger step to make it faster.    # Search is either image.SEARCH_EX for exhaustive search or image.SEARCH_DS for diamond search    #    # Note1: ROI has to be smaller than the image and bigger than the template.    # Note2: In diamond search, step and ROI are both ignored.    r 8= img.find_template(template8, 0.70, step=4, search=SEARCH_EX) #, roi=(10, 0, 60, 60))    if r8:        img.draw_rectangle(r8)   r 9= img.find_template(template9, 0.70, step=4, search=SEARCH_EX) #, roi=(10, 0, 60, 60))    if r9:        img.draw_rectangle(r9)    print(clock.fps())

运行的结果如图所示

基于OpenMV如何实现数字识别功能

以上是“基于OpenMV如何实现数字识别功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯