常见问题

请先看过本书,以下内容都可以在书中找到。

选择OpenMV3 M7 , OpenMV4 H7 还是 OpenMV4 H7 Plus 或 OpenMV RT1062 ?

推荐最新版本OpenMV4 H7 Plus 或者 OpenMV RT1062,性能更高,分辨率更高,功能更多。

OpenMV3 M4 , OpenMV4 H7, OpenMV4 H7 Plus, OpenMV RT1062 有什么区别?

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的内容

10分钟快速上手

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被誉为最易上手的语言之一。

我不会写逻辑怎么办?比如不会把两个功能写在一起。

这种属于没有任何编程经验。推荐
笨方法学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

见:OpenMV处理图像的方法

各种算法文档,见: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

results matching ""

    No results matching ""