🌻🌻🌻 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 上运行。
2. OpenMV的劣势
- 做不了复杂的算法:比如OCR识别,车牌识别,猫狗分类,深度学习之类的。
- IO口资源有待拓展,运行时间不能过长,发热较大也会出现变砖
OpenMV故障可以参考:OpenMV固件升级(DFU)
3. OpenMV的基础
- 需要有一点图像处理的背景知识。
- 有过一门编程语言,最好是学习了python,我们接下来的开发就是根据OpenMV IDE的python开发环境,了解if else等逻辑语句,知道变量赋值等概念。
- 有单片机的基础,了解IO输入输出口,串口通讯等概念。
4. 点亮我们的OpenMV
本人采用win10 的OpenMV IDE 2.8.1开发环境,下面代码就是点亮我们的OpenMV,==打开机器的眼睛==👨💻👨💻👨💻
# 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.
然后点击绿色三角形运行程序,显示结果:
5. 总结
- 本文介绍本文介绍OpenMV优缺点以及所需的背景知识,然后通过OpenMV IDE的python开发环境运行了“Hello World”程序,成功点亮!后期还会有更多好玩的教程更新,很高兴能和大家分享🤣🤣🤣希望你能有所收获。