news 2026/4/15 10:45:29

OpenMV的介绍和使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenMV的介绍和使用

OpenMV快速上手 | OpenMV硬件版本概述及HelloWorld

介绍

OpenMV是一个可编程的摄像头,提供很多现成的函数,简单调用就可以实现图像识别的功能。比如寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪等。
检测算法可以脱机运行,并把检测结果通过各种协议发送出来。

开源地址:https://github.com/openmv/openmv

开发环境

在专门的OpenMV IDE上开发,从官网下载安装即可。使用MicroPython语言进行开发。
https://openmv.io/pages/download

版本对比和硬件购买


算法上OpenMV2不能使用apriltag,OpenMV3可以。版本越高,功能越多。
最大可支持分辨率:OpenMV2 320x240;OpenMV3 640x480;OpenMV4 752x480(MT9V034全局快门模组);OpenMV4 Plus 或 OpenMV RT1062 2592x1944.

可以直接从淘宝购买现成硬件。
也可以自己打板、焊接,硬件都是开源的,可以从github下载到开发板的原理图、pcb。
github仓库地址:https://github.com/openmv/openmv-boards。

自己打板的由于没有官方注册,每次连接IDE会弹窗,叉掉就行,不影响使用。

或者去跟官方购买License
每个License $15,折合人民币100元。
购买过License后,会发送一个邮件,将一串字符密钥发送给你。

可以填入密钥,然后软件会将这个密钥和你的板子绑定到一起。一个密钥只能对应一个OpenMV。

入门 helloworld

使用Micro-USB线连接OpenMV到电脑,驱动在安装IDE的时候已经自动装了。
查看是否有OpenMV的串口:

通过IDE连接OpenMV:点击此按钮连接,IDE会自动寻找OpenMV的串口进行连接。

如果遇到连接不上的问题:先检查驱动、再检查USB线、最后重刷OpenMV固件。
IDE中带了非常多的示例供参考,选择helloworld示例

运行helloworld示例

查看实时画面

功能

可实现功能

追踪颜色
机器人巡线
模版匹配
特征点检测
人眼追踪
HAAR,LBP,HOG算法
保存图像
录制视频
边缘检测
瞳孔识别
直线检测
光流
人脸分辨、人脸识别、二维码识别
AprilTag
识别数字、字母、汉字、形状

外设

作为一个单片机,控制IO口,IIC,SPI,CAN,PWM。定时器当然都是可以的。
而且,使用python语言,可以非常简单的调用它们,而不用考虑寄存器。

文件系统

文件系统是FatFS。

路径都是以根目录为起点。
当插入sd卡后,根目录就是SD卡;不插入sd卡,根目录就是内置的Flash。
如果需要,你可以在SD卡上,新建一个空文件:/flash/SKIPSD,这会避免挂载SD卡,当然,你可以使用os.mount来手动挂载SD卡。

可以保证图片到文件系统中,模板匹配等功能需要的图片和数据也是从文件系统中读取。

例程实操

寻找色块

AprilTag标记跟踪

模板匹配

特征点检测

脱机运行

OpenMV开机后默认执行文件系统中的main.py。

方法1

OpenMV连接到PC之后,会虚拟出一个U盘,替换其中的文件即可。

方法2

在IDE中直接保存当前打开的脚本到OpenMV中。

OpenMV重刷固件、固件升级

OpenMV重刷固件

重刷固件是通过STM32的DFU模式烧录固件。
烧录工具在IDE安装目录中提供:

固件也在IDE安装目录中:

用杜邦线连接BOOT引脚和RST引脚

按下复位键,让STM32进入DFU下载模式,PC会检测到STM32 DFU设备:

在Dfuse软件中选择dfu固件:

然后点击Upgrade进行升级:

升级成功:

拔掉杜邦线,重新插拔USB线,固件升级完毕。

OpenMV固件升级

IDE连接OpenMV之后,点击下放版本处,IDE会检测固件版本,并提示是否升级:

点击这里,会弹出一个对话框:是否升级到最新固件?


如果想擦除文件系统,选择Yes,如果想保留文件,选择No。

最后会提示:升级成功。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/2 23:59:02

0.8秒出高清:SeedVR2-7B单步推理技术重构视频修复行业标准

0.8秒出高清:SeedVR2-7B单步推理技术重构视频修复行业标准 【免费下载链接】SeedVR2-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR2-7B 导语 字节跳动开源的SeedVR2-7B视频修复模型通过创新的"一步式"扩散对抗训练技术…

作者头像 李华
网站建设 2026/4/15 4:23:15

3分钟快速上手LiteLoaderQQNT插件的终极指南

3分钟快速上手LiteLoaderQQNT插件的终极指南 【免费下载链接】LiteLoaderQQNT_Install 针对 LiteLoaderQQNT 的安装脚本 项目地址: https://gitcode.com/gh_mirrors/li/LiteLoaderQQNT_Install 想要为你的QQNT桌面客户端添加更多实用功能吗?LiteLoaderQQNT插…

作者头像 李华
网站建设 2026/4/11 4:42:10

基于SSM+Vue的废品买卖回收管理系统的设计与实现

前言如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统废品买卖回收管理系统信息管理难度大,容错率低&a…

作者头像 李华
网站建设 2026/4/13 20:13:29

Java String 中的字符串为什么是 final 的?

Java 中将 String 设计为 final(不可变)是语言设计的核心决策,本质是为了平衡安全性、性能、并发、设计简洁性四大核心目标。以下从技术原理、核心原因、实践影响三个维度拆解: 一、先明确:final 修饰 String 的两层含…

作者头像 李华
网站建设 2026/4/13 1:37:27

用AI快速开发texlive安装教程应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个texlive安装教程应用,利用快马平台的AI辅助功能,展示智能代码生成和优化。点击项目生成按钮,等待项目生成完整后预览效果 最近在做一个L…

作者头像 李华