初识OpenMV

简介: 初识OpenMV

🌻🌻🌻 OpenMV是一个开源,低成本,功能强大的机器视觉模块。以STM32主流芯片为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上,提供Python编程接口。

🌼🌼🌼使用者们(包括发明家、爱好者以及智能设备开发商)可以用Python语言使用OpenMV提供的机器视觉功能,可根据自身特定的视觉特征需要,通过python设计合理的算法,进而得到稳定可靠的输出,再配合其他单片机交互,有机统一完成对应项目,为自己的产品和发明增加有特色的竞争力。



OpenMV起初是国外的开源产品,星瞳科技是OpenMV中国官方代理,还做了好多中文视频、文档教程,这个模块的目标是成为“机器视觉世界的Arduino “,博主认为未来可期😊😊😊


1. OpenMV的优势

  • 人脸/眼睛检测:您可以使用 OpenMV Cam 使用内置的 Haar Cascade 特征检测算法来检测人脸并找到眼睛。您也可以精确跟踪学生。
  • 拍照:OpenMV Cam 可以将灰度或 RGB565 BMP / JPG / PPM / PGM 图像保存到连接的 μSD 卡。您也可以保存延时照片。
  • 低功耗:OpenMV Cam 在处理图像时使用的电流小于 200 mA,因此您可以像连接到 USB 端口的微控制器 (Arduino) 一样使用 OpenMV Cam。
  • 视频录制:您可以将灰度或 RGB565 MJPEG 视频和灰度或 RGB565 GIF 图像保存到附带的 SD 卡。您也可以在视频上叠加图形/文字。
  • 斑点/标记跟踪OpenMV Cam 可以跟踪灰度或 RGB565 图像中的颜色斑点。它可以进行多色/多斑点跟踪。此外,OpenMV Cam 也可以检测颜色代码。
  • 输入/输出控制:借助 OpenMV Cam,您可以使用机器视觉来控制现实世界中的 I/O 引脚。OpenMV Cam 具有 SPI 总线、I2C 总线、异步串行总线 (RX / TX)、ADC、DAC 等。

  • TensorFlow 支持: 分类图像从未如此简单!使用 OpenMV IDE,您可以轻松地构建一个数据集,将该数据集上传到云端的Edge Impulse,并使用迁移学习和 MobileNet 生成一个 TensorFlow Lite 卷积神经网络 (CNN),该网络将在您的 OpenMV Cam 上运行。
  • 1.png

2. OpenMV的劣势

  • 做不了复杂的算法:比如OCR识别,车牌识别,猫狗分类,深度学习之类的。
  • IO口资源有待拓展,运行时间不能过长,发热较大也会出现变砖
  • 2.png


OpenMV故障可以参考:OpenMV固件升级(DFU)

3. OpenMV的基础

  • 需要有一点图像处理的背景知识。
  • 有过一门编程语言,最好是学习了python,我们接下来的开发就是根据OpenMV IDE的python开发环境,了解if else等逻辑语句,知道变量赋值等概念。
  • 单片机的基础,了解IO输入输出口,串口通讯等概念。

4. 点亮我们的OpenMV

本人采用win10 的OpenMV IDE 2.8.1开发环境,下面代码就是点亮我们的OpenMV,==打开机器的眼睛==👨‍💻👨‍💻👨‍💻

3.png

# Hello World Example
#
# Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script!
import sensor, image, time
sensor.reset()                      # Reset and initialize the sensor.
sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA)   # Set frame size to QVGA (320x240)
sensor.skip_frames(time = 2000)     # Wait for settings take effect.
clock = time.clock()                # Create a clock object to track the FPS.
while(True):
    clock.tick()                    # Update the FPS clock.
    img = sensor.snapshot()         # Take a picture and return the image.
    print(clock.fps())              # Note: OpenMV Cam runs about half as fast when connected
                                    # to the IDE. The FPS should increase once disconnected.

然后点击绿色三角形运行程序,显示结果:

4.png



5. 总结

  • 本文介绍本文介绍OpenMV优缺点以及所需的背景知识,然后通过OpenMV IDE的python开发环境运行了“Hello World”程序,成功点亮!后期还会有更多好玩的教程更新,很高兴能和大家分享🤣🤣🤣希望你能有所收获。
目录
相关文章
|
6月前
|
Linux
linux驱动开发-点亮第一个led灯
linux驱动开发-点亮第一个led灯
74 0
|
编解码 网络性能优化 芯片
如何用51单片机实现pwm调光+呼吸灯(超详细+源码)
如何用51单片机实现pwm调光+呼吸灯(超详细+源码)
891 0
如何用51单片机实现pwm调光+呼吸灯(超详细+源码)
|
IDE 开发工具 Android开发
OpenMV串口通讯详解
OpenMV串口通讯详解
1183 1
|
存储
OpenMV的单颜色识别讲解
OpenMV的单颜色识别讲解
739 0
OpenMV多颜色识别详解
OpenMV多颜色识别详解
221 0
OpenMV输出PWM,实现对舵机控制
OpenMV输出PWM,实现对舵机控制
1703 0
野火STM32F1开发板 IIC 0.96OLED 波形显示
野火STM32F1开发板 IIC 0.96OLED 波形显示
102 0
|
存储 安全 IDE
OpenMV的程序烧录
OpenMV的程序烧录
449 0
蓝桥杯 stm32 按键点灯 CubeMX
从图中我们可以看到有 4个按键,B1 , B2 , B3 , B4。 对应的 GPIO 端口是 PB0 , PB1, PB2 ,PA0。 当按键按下,IO 口读到低电平;按键弹起,IO 口读到高电平。 LED 的原理图,CubeMX 配置,以及代码讲解都在我的上篇文章 里详细讲解了,这 篇文章主要为大家讲解 按键 的使用。 蓝桥杯嵌入式之 LED 闪烁
145 0