常见问题
请先看过本书,以下内容都可以在书中找到。
选择OpenMV3 M7 , OpenMV4 H7 还是 OpenMV4 H7 Plus 或 OpenMV RT1062 ?
推荐最新版本OpenMV4 H7 Plus 或者 OpenMV RT1062,性能更高,分辨率更高,功能更多。
OpenMV3 M7 , OpenMV4 H7, OpenMV4 H7 Plus, OpenMV RT1062 有什么区别?
- 外设不同,见:pyb各种外设
Tables | OpenMV2 M4 | OpenMV3 M7 | OpenMV4 H7 | OpenMV4 H7 Plus | OpenMV RT1062 |
---|---|---|---|---|---|
Pin | 9 | 10 | 10 | 10 | 14 |
ADC | 1 | 1 | 1 | 1 | 1 |
DAC | 1 | 1 | 1 | 1 | 0 |
SPI | 1 | 1 | 1 | 1 | 1 |
I2C | 1 | 2 | 2 | 2 | 1 |
UART | 1 | 2 | 2 | 2 | 1 |
Servo | 2 | 3 | 3 | 2 | 4 |
CAN bus | 0 | 1 | 1 | 1 | 1 |
电源按键 | 0 | 0 | 0 | 0 | 1 |
自定义按键 | 0 | 0 | 0 | 0 | 1 |
引脚耐受 | 5V | 5V | 5V | 5V | 3.3V |
引脚电平 | 3.3V | 3.3V | 3.3V | 3.3V | 3.3V |
IC | STM32F427 | STM32F765 | STM32H743 | STM32H743 | IMXRT1062 |
RAM | 256KB | 512KB | 1MB | 32MB + 1MB | 32MB + 1MB |
Flash | 1MB | 2MB | 2MB | 32MB + 2MB | 16MB |
频率 | 180MHz | 216MHZ | 480MHZ | 480MHZ | 600MHZ |
标配感光元件 | OV7725(30W像素) | OV7725(30W像素) | OV7725(30W像素) | OV5640(500W像素) | OV5640(500W像素) |
重点:算法上OpenMV2不能使用apriltag,OpenMV3可以。版本越高,功能越多。
最大可支持分辨率:OpenMV2 320x240;OpenMV3 640x480;OpenMV4 752x480(MT9V034全局快门模组);OpenMV4 Plus 或 OpenMV RT1062 2592x1944.
OpenMV是开源的吗?
是,完全开源,github:https://github.com/openmv/openmv
运行历程有错误怎么办?
首先,升级IDE和固件到最新的版本。
如何看固件的版本。
连接OpenMV后,看下图的箭头。
如何升级固件
见升级固件
如何打开终端/查看print的内容
OpenMV与OpenCV的区别?
OpenMV是一个硬件项目,集成了图像的算法,硬件是专用的(开源)。
OpenCV是一个通用的软件项目,需要操作系统的支持,在嵌入式上跑需要移植和裁剪相当大的代码量。
OpenMV的算法移植OpenCV的吗?
不是,算法是完全重写的,因为OpenCV是为电脑上设计的,不适合嵌入式上使用。
OpenMV比树莓派有什么优势?
功耗,OpenMV只需要100MA,运行算法时140mA,可以使用USB供电。树莓派需要700mA,不能使用USB供电。
容易开发,OpenMV的开发类似与Arduino,10分钟可以运行。树莓派需要安装OpenCV,NumPy。。。很多软件,而且没有IDE。
帧率
当然,性能是一个缺点。
OpenMV使用什么语言编程?
python,具体来说是MicroPython。见:python背景知识
OpenMV可以用C语言编程吗?可以用IAR或者Keil编程吗
可以用C语言,但是没必要,使用Python好处多多,如果想编写底层的算法,见:给源码添加算法
不能用IAR或者Keil编程,OpenMV是基于MicroPython项目的,如果非要使用IAR或者Keil,相当于放弃了OpenMV项目,从头做一个。
OpenMV的固件如何编译?
见:编译固件
Ubuntu下gcc。
OpenMV的固件可以在Windows/IAR/Keil下编译吗?
不能。请用Ubuntu和GCC。不建议在Windows折腾。
OpenMV用MicroPython会不会运行慢?
确实比直接用C语言慢一些,但是,不会慢特别多。
- 底层的算法是C写的
- 在第一次运行的时候,你的脚本会被MicroPython自动编译为bytecode(就像你的电脑一样)
OpenMV可以脱机运行程序吗?
可以,见:10分钟上手教程
OpenMV的开发难吗?
不难,类似于在Arduino上点亮一个LED,第一个Hello world的时间不到10分钟。
如果想追踪一个小球,直接运行示例代码,不到5分钟。
Python难吗?
Python被誉为最易上手的语言之一。
如果之前有C/C++/Java(或任何其他语言)的编程经验,推荐
廖雪峰的Python教程如果之前没有任何编程经验,推荐
笨方法学Python
我不会写逻辑怎么办?比如不会把两个功能写在一起。
这种属于没有任何编程经验。推荐
笨方法学Python
以下有两个选择:
- 不学了,花钱找别人开发。
- 学编程(不只是学Python)
- 先把笨方法学Python看完。
- 多看几个例子,了解各种模块的使用方法。
- 把自己的需求的逻辑缕清。
可以用NumPy, PIL库吗?
不可以,这些库是Cpython的库,不能在MicroPython上用。
OpenMV可以进行神经网络/深度学习吗?
可以,目前OpenMV4/OpenMV4 Plus/OpenMV RT支持TensorFlow Lite人检测、cifar10、lenet数字识别、stam32CubeAi等神经网络模型。未来会更多。
支持使用配套的在线训练网站 ai.singtown.com 或者 www.edgeimpulse.com 自行训练神经网络模型进行分类或者目标点检测,以分类或者目标检测任何你想要识别的物体。
OpenMV的分辨率是多少?
OpenMV2 M4 / OpenMV3 M7 / OpenMV4 H7:
30万像素,OV7725 / MT9M114 感光元件。
通常在程序中使用:
- QQVGA: 160x120
- QVGA: 320x240
最大支持:
- VGA: 640x480
注:VGA彩色为压缩格式,不支持图像算法。
OpenMV4 Plus / OpenMV RT1062 标配了OV5640模组,最高可支持500万像素。
OpenMV的可以使用高分辨率吗?
最新的 OpenMV4 H7 Plus 和 OpenMV RT1062 可以。
OpenMV4 Plus / OpenMV RT1062 标配了OV5640模组,最高可支持500万像素。
并且OpenMV4 Plus 外置了 32MB SDRAM 和 32MB QSPI Flash,OpenMV RT1062 外置了 32MB SDRAM 和 16MB Flash,性能更高。
其余版本不能。
- 感光元件的限制
- OpenMV运算速度的限制
- OpenMV的内存不够,OpenMV3只有512KB,OpenMV4 H7只有1MB。
OpenMV的感光元件可以换吗?
OpenMV RT, OpenMV4 H7 Plus 和 OpenMV4 H7可以更换感光元件,除标配感光元件外,还支持MT9V034全局快门模组、Lepton红外热成像模组。
OpenMV3 M7 / OpenMV2 M4不能。
- 没有其他感光元件的驱动
- 感光元件是BGA贴在PCB上的,无法更换
- 你没法在OpenMV2/3项目上使用更高像素。
OpenMV可以使用双路摄像头吗?
不能。
OpenMV可以使用外置的摄像头吗?比如USB摄像头。
不能。
OpenMV的帧率是多少?
尺寸 | 灰度/彩色 | WiFi图传 | IDE图传 | 帧率 |
---|---|---|---|---|
QQVGA | 灰度 | 否 | 否 | 85 |
QQVGA | 灰度 | 否 | 是 | 85 |
QQVGA | 灰度 | 是 | 否 | 42 |
QQVGA | 灰度 | 是 | 是 | 30 |
QQVGA | 彩色 | 否 | 否 | 85 |
QQVGA | 彩色 | 否 | 是 | 58 |
QQVGA | 彩色 | 是 | 否 | 35 |
QQVGA | 彩色 | 是 | 是 | 21 |
QVGA | 灰度 | 否 | 否 | 85 |
QVGA | 灰度 | 否 | 是 | 65 |
QVGA | 灰度 | 是 | 否 | 21 |
QVGA | 灰度 | 是 | 是 | 17 |
QVGA | 彩色 | 否 | 否 | 85 |
QVGA | 彩色 | 否 | 是 | 50 |
QVGA | 彩色 | 是 | 否 | 21 |
QVGA | 彩色 | 是 | 是 | 13 |
OpenMV的识别距离多远呢?
标配镜头:
乒乓球大小的物体:0.5m~1m。
人脸识别:1m
见:图像处理背景知识
OpenMV镜头可以换吗?
可以,标配的M12镜头。
不同的镜头有什么区别?
见:图像处理背景知识
长焦镜头可以看多远?
乒乓球大小的物体:3m。
见:图像处理背景知识
OpenMV有什么算法?
- 追踪颜色
- 二维码识别
- 人脸识别
- 机器人巡线
- 模版匹配
- 特征点检测
- 人眼追踪
- HAAR,LBP,HOG算法
- 保存图像
- 录制视频
- 边缘检测
- 瞳孔识别
- 直线检测
- 光流
- 人脸分辨
- AprilTag
各种算法文档,见:image图像处理
OpenMV可以识别数字吗?
Mnist数字识别,见:Mnist数字识别
模板匹配,见:模板匹配
OpenMV可以识别字母吗?
模板匹配,见:模板匹配
OpenMV可以识别汉字吗?
模板匹配,见:模板匹配
OpenMV可以识别形状吗?
圆形识别,见:圆形识别
矩形识别,见:矩形识别
模板匹配,见:模板匹配
OpenMV可以人脸识别吗?
可以
OpenMV可以识别二维码吗?
可以,见:扫码识别
OpenMV可以识别激光点吗?
可以,颜色识别。
OpenMV可以和其他芯片通信吗?
OpenMV可以和Arduino/51/STM32通信吗?
OpenMV如何与PLC通信?
PLC的串口有RS232,RS485,使用一个TTL-RS232或者TTL-RS485的模块,然后就可以了。
串口通信上
串口通信下
OpenMV可以和电脑通信吗?
可以
使用串口通信,或者使用USB通信。
USB:USB-VCP类/文档
OpenMV可以驱动步进电机/直流电机/舵机吗?
可以,见:各种电机
OpenMV可以驱动几个舵机?
OpenMV2 2个,OpenMV3 3个,OpenMV4 H7 3个,OpenMV4 H7 Plus 2个,OpenMV RT1062 4个。
使用PCA9685,可以扩展16路或更多。
见:各种电机
OpenMV可以用在飞控上吗?
可以,有串口。
而且OpenMV有MavLink协议。
OpenMV如何供电?
下面二选一,也可以同时供电
- USB直接供电
- Vin-GND接3.6V~5V的电压,推荐5V
OpenMV的3.3V引脚是做什么用的?
是电压的3.3V输出端,可以给其他的模块供电。
OpenMV可以用锂电池供电吗?
可以,锂电池通常是3.7V
OpenMV工作电压是多少?
3.3V。
但是主控为STM32的OpenMV2 M4/OpenMV3 M7/OpenMV4 H7/OpenMV4 H7 Plus 5V容忍(如果有5V的输入,芯片可以识别到1并正常工作,但是输出始终为3.3V)。
主控为IMXRT的OpenMV RT 3.3V容忍(IO不能输入超过3.3V)。
OpenMV运行程序的时候很烫怎么回事?
50°左右是正常的。
LCD几个占用几个引脚?
P0, P2, P3, P6, P7, P8
见,OpenMV配件
LCD是SPI接口的?
是
LCD的分辨率是多少?
sensor.QQVGA2: 128x160
可以无线传输图像吗?
可以。
OpenMV2 M4/OpenMV3 M7/OpenMV4 H7/OpenMV4 H7 Plus 使用WiFi扩展板。
OpenMV RT内置WiFi。
见,OpenMV配件
OpenMV SD卡有什么用?
可以用来存图像或者视频。
OpenMV内存卡最大支持多大的?
32G