OpenMV- 全能机器视觉平台(星瞳科技OpenMV视频教程38)

一、OpenMV简介

OpenMV是一款低功耗、高性能、易于使用的机器视觉平台。它使用Python编程语言,配备了高性能的ARM Cortex-M7处理器,并提供了摄像头、LCD屏幕、Wi-Fi和多个传感器模块的接口。OpenMV可以在嵌入式系统、机器人、物联网等多个领域得到广泛应用。

相对于其他单板计算机(如树莓派),OpenMV具有更高的专业性和性能。它专注于机器视觉的处理,可以在实时视频流处理中提供更快的速度和更低的功耗,同时还集成了更多常用的机器视觉算法,用户可以通过Python API来操作相关功能。

二、OpenMV的应用领域

OpenMV在多个领域都有广泛的应用,以下是一些常见的领域:

1.机器人

在机器人领域,机器视觉是一项重要技术。通过OpenMV,机器人可以较为稳定地进行图片识别、物体跟踪、二维码扫描等任务,帮助机器人更好的完成任务。此外,OpenMV还提供了串口、Wi-Fi、蓝牙等传输方式,使得机器人的通讯变得更为便捷。

2.智能家居

在智能家居领域,OpenMV可以通过摄像头实现动态人脸识别、手势识别、声音识别等功能,将智能家居控制更加智能化、便捷化。此外,还可以通过OpenMV的温度、湿度、气压等传感器接口实现环境感知,控制家居设备的运行状态。

3.物联网

在物联网领域,OpenMV可以通过摄像头实现运动检测、人脸识别、QR码识别等功能,实现对设备周边环境的感知,监测设备运行状态并对其进行控制调整。同时,OpenMV提供了Wi-Fi模块,通过Wi-Fi与互联网进行通讯,实现对设备的远程控制。

三、OpenMV的编程

OpenMV使用Python作为编程语言,Python在图像处理领域有着良好的支持。由于Python是一种高级语言,代码易于编写和修改,并具有较强的可读性,因此非常适合于Machine Vision和Deep Learning技术。OpenMV提供了丰富的Python库,用户可以轻松访问各种机器视觉功能,让开发变得更加简单。

OpenMV的编程模式

OpenMV的编程模式分为两种:

1. 独立模式

独立模式是默认的编程模式,通过IDE(集成开发环境)或USB随便一个缆进行编程。这个模式下OpenMV可以将程序储存在嵌入式设备中,而且这个设备不需要主板,就可以运行程序和调用模块。

2. IDE模式

IDE模式是支持在线调试和实时图像数据显示的编程模式,用户通过在IDE中编写Python代码,并将其通过USB C 将代码上传并执行在OpenMV设备中,同时IDE通过串口调试功能,实现了用户与OpenMV设备之间的交互。

OpenMV的代码示例

#颜色追踪
import sensor, image, time

# 颜色阈值,色块颜色相近,调整一下阈值就可以
boundaries = [(30, 100, 30, 80, 15, 80)]

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames(time = 2000)
sensor.set_auto_gain(False) #自动AGC关掉,保持亮度一致
sensor.set_auto_whitebal(False) #自动白平衡关掉,色彩一致

clock = time.clock()

while(True):
    clock.tick()
    img = sensor.snapshot() # 读取图片
    for blob in img.find_blobs(boundaries):
        # 保证色块足够大
        if blob.pixels() > 100:
            img.draw_rectangle(blob.rect())
            img.draw_cross(blob.cx(), blob.cy())
    print(clock.fps())

四、OpenMV的硬件规格

OpenMV的硬件规格如下:

  1. CPU: 单核Cortex-M7处理器,240MHz
  2. 内存:512KB+32MB SPI RAM
  3. 外设:QVGA彩色LCD、Wi-Fi、45度转接头、2个GPIO端口、I2C、SPI和UART接口、3xADC、DAC、PWM、CAN
  4. 摄像头:OV7725 640×480 of image sensor
  5. 功耗:120mA,最大电压为5V

五、总结

OpenMV是一个非常好用的机器视觉平台,专注于机器视觉的处理并集成了更多常用的机器视觉算法。它使用Python作为编程语言,Python有较高的图像处理支持。OpenMV在机器人、智能家居、物联网等领域都有广泛的应用,而且提供了简单易用的Python API,让开发者轻松掌握各种机器视觉功能。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平