OpenMV摄像头是一款小巧,低功耗,低成本的电路板,它帮助你很轻松的完成机器视觉(machine vision)应用。你可以通过高级语言Python脚本(准确的说是 MicroPython ),而不是C/C++。Python的高级数据结构使你很容易在机器视觉算法中处理复杂的输出。但是,你仍然可以完全控制OpenMV。你可以很容易的使用外部终端触发拍摄或者或者执行算法,也可以把算法的结果用来控制IO引脚。
OpenMV摄像头的特点:
- STM32H743VI ARM Cortex M7 处理器,480 MHz ,1MB RAM,2 MB flash. 所有的 I/O 引脚输出 3.3V 并且 5V 耐受。这个处理器有以下的IO接口。
- 全速 USB (12Mbs) 接口,连接到电脑。当插入OpenMV摄像头后,你的电脑会出现一个虚拟COM端口和一个“U盘”。
- μSD卡槽拥有100Mbs读写,这允许你的OpenMV摄像头录制视频,和把机器视觉的素材从SD卡提取出来。
- 一个SPI总线高达54Mbs速度,允许你简单的把图像流数据传给LCD扩展板,WiFi扩展板,或者其他控制器。
- 一个 I2C总线,CAN总线, 和两个异步串口总线 (TX/RX) ,用来链接其他控制器或者传感器。
- 一个12-bit ADC 和一个12-bit DAC。
- 3个 I/O 引脚用于舵机控制.
- 所有的IO口都可以用于,中断和PWM(板子上有10个I/O引脚)。
- 一个RGB LED(三色), 两个高亮的 850nm IR LED(红外)
- 可拆卸的摄像头模块系统,允许OpenMV Cam H7与不同的感光元件模组连接:
- OpenMV4 H7默认配置的MT9M114 感光元件处理640×480 8-bit 灰度图或者640×480 16-bit RGB565彩色图像可以达到40 FPS;当分辨率低于320×240可以达到80FPS。大多数简单的算法可以运行40~80FPS以上。你的 OpenMV 摄像头有一个2.8mm焦距镜头在一个标准M12镜头底座上。如果你想使用更多的特殊的镜头,你可以很容易的安装。
- 对于专业的机器视觉应用,你可以购买我们的全局快门摄像头模组mt9V034。
- 对于红外热成像机器视觉应用,您可以购买我们的FLIR Lepton 红外热成像模组。
- 3.7V 锂离子电池接口,用于业余爱好者机器人应用。
资料请看: https://singtown.com/openmv/
应用
目前OpenMV摄像头可以用来做以下的事情 (未来会更多):
- Frame Differencing帧差分算法
- 你可以使用OpenMV Cam上的帧差分算法来查看场景中的运动情况。帧差分算法可以将OpenMV用于安全应用。
- Color Tracking颜色追踪
- 你可以使用OpenMV在图像中同时检测多达16种颜色(实际上永远不会想要找到超过4种颜色),并且每种颜色都可以有任意数量的不同的色块。OpenMV会告诉您每个色块的位置,大小,中心和方向。使用颜色跟踪,您的OpenMV Cam可以进行编程,以跟踪太阳,线跟踪,目标跟踪等等。视频演示:/learn/49993
- Marker Tracking标记跟踪
- 您可以使用OpenMV Cam来检测颜色组的颜色,而不是单独的颜色。这允许你在对象上放置颜色标签(2种或多种颜色的标签),OpenMV会获取标签对象的内容。
- Face Detection人脸检测
- 你可以使用OpenMV Cam(或任何通用对象)检测脸。你的OpenMV摄像头可以处理Haar模板进行通用对象检测,并配有内置的Frontal Face 模板和Eye Haar模板来检测人脸和眼睛。/learn/50013
- Eye Tracking眼动跟踪
- 你可以使用眼动跟踪来检测某人的注视方向。你可以使用它来控制机器人。眼睛跟踪检测瞳孔的位置,同时检测图像中是否有眼睛。
- Person Detection人检测
- 你可以使用内置的人检测器(TensorFlow Lite模型)检测视野中是否有人。
- Optical Flow光流
- 你可以使用光流来检测您的OpenMV摄像机面前的画面。例如,您可以使用四旋翼上的光流来控制在空中的稳定性。
- QR Code Detection/Decoding二维码检测/解码
- 您可以使用OpenMV Cam在其视野中读取QR码。通过QR码检测/解码,您可以使智能机器人能够读取环境中的标签。
- Data Matrix Detection/Decoding矩阵码检测/解码
- OpenMV Cam 也可以检测和解码矩阵码(2D条形码 Data Matrix)。您可以在此处查看我们的视频。
- Linear Barcode Decoding条形码
- OpenMV Cam 还可以处理1D条形码。它可以解码 EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93, 和 CODE128。在此处查看我们的视频:/learn/50017
- AprilTag Tracking标记跟踪
- 甚至比上面的QR码更好,OpenMV Cam 也可以追踪AprilTags。AprilTags是旋转不变,尺度不变,剪切不变和照明不变的最先进的基准标记。在此处查看我们的视频: /learn/49590
- Line Detection直线检测
- OpenMV Cam可以在几乎跑满帧率的情况下,快速完成无限长的直线检测。而且,也可以找到非无限长的线段。您可以在这里看到我们的视频:/learn/50009
- Circle Detection圆形检测
- Rectangle Detection矩形检测
- OpenMV也可以检测矩形,它使用了AprilTag库中的方形检测代码。
- Template Matching模板匹配
- 您可以使用OpenMV模板匹配来检测视野中是否有模板相似的图片。例如,可以使用模板匹配来查找PCB上的标记,或读取显示器上的已知数字。
- Image Capture图像捕捉
- 你可以使用OpenMV捕获RGB565/灰度的 BMP / JPG / PPM / PGM图像。可以直接在Python脚本中控制如何捕获图像。最重要的是,使用机器视觉的算法,进行绘制直线,绘制字符,然后保存。
- Video Recording视频录制
- 你可以使用OpenMV摄像机记录RGB565/灰度的MJPEG视频或GIF图像(或者RAW视频)。你可以在Python脚本中直接控制如何将每个视频帧记录,并完全控制视频录制的开始和结束。而且,像拍摄图像一样,您可以使用机器视觉的算法,进行绘制直线,绘制字符,然后保存。
最后,所有上述功能都可以混合IO引脚的控制,来配合你自己的自定义应用,以与现实世界交谈。