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标记跟踪
模板匹配
特征点检测
脱机运行
方法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。

最后会提示:升级成功。
