OpenMV摄像头是一款小巧,低功耗,低成本的电路板,它帮助你很轻松的完成机器视觉(machine vision)应用。你可以通过高级语言Python脚本(准确的说是 MicroPython ),而不是C/C++。Python的高级数据结构使你很容易在机器视觉算法中处理复杂的输出。但是,你仍然可以完全控制OpenMV,包括IO引脚。你可以很容易的使用外部终端触发拍摄或者或者执行算法,也可以把算法的结果用来控制IO引脚。
OpenMV摄像头的特点:
STM32F765VI ARM Cortex M7 处理器,216 MHz ,512KB 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(红外).
OV7725 感光元件在80 FPS下可以处理640x480 8-bit 灰度图或者320x240 16-bit RGB565 彩色图像.。你的 OpenMV 摄像头有一个2.8mm焦距镜头在一个标准M12镜头底座。如果你想使用更多的定制镜头,你可以很容易的安装。
应用
目前OpenMV摄像头可以用来做一下的事情 (未来会更多):
Frame Differencing帧差分算法
你可以使用OpenMV Cam上的帧差分算法来查看场景中的运动情况。帧差分算法可以将OpenMV用于安全应用。
Color Tracking颜色追踪
你可以使用OpenMV在图像中一次检测多达16种颜色(实际上永远不会想要找到超过4种颜色),并且每种颜色都可以有任意数量的不同的斑点。OpenMV会告诉您每个Blob的位置,大小,中心和方向。使用颜色跟踪,您的OpenMV Cam可以进行编程,以跟踪太阳,线跟踪,目标跟踪等等。视频演示这里。
Marker Tracking标记跟踪
您可以使用OpenMV Cam来检测颜色组的颜色,而不是单独的颜色。这允许你在对象上放置颜色标签(2种或多种颜色的标签),OpenMV会获取标签对象的内容。视频演示这里。
Face Detection人脸检测
你可以使用OpenMV Cam(或任何通用对象)检测脸。你的OpenMV摄像头可以处理Haar模板进行通用对象检测,并配有内置的Frontal Face 模板和Eye Haar模板来检测人脸和眼睛。
Eye Tracking眼动跟踪
你可以使用眼动跟踪来检测某人的注视方向。你可以使用它来控制机器人。眼睛跟踪检测瞳孔的位置,同时检测图像中是否有眼睛。
Optical Flow光流
你可以使用光流来检测您的OpenMV摄像机面前的画面。例如,可以使用四旋翼上的光流来位置在空中的稳定性。
QR Code Detection/Decoding二维码检测/解码
您可以使用OpenMV Cam在其视野中读取QR码。通过QR码检测/解码,您可以使智能机器人能够读取环境中的标签。您可以在此处查看我们的视频。
Data Matrix Detection/Decoding矩阵码检测/解码
OpenMV Cam M7也可以检测和解码矩阵码(2D条形码)。您可以在此处查看我们的视频。
Linear Barcode Decoding条形码
OpenMV Cam M7还可以处理1D条形码。他可以解码 EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93, 和 CODE128。在此处查看我们的视频。
AprilTag Tracking标记跟踪
甚至比上面的QR码更好,OpenMV Cam M7也可以追踪到160x120的AprilTags,高达约12 FPS。AprilTags是旋转不变,尺度不变,剪切不变和照明不变的最先进的基准标记。在此处查看我们的视频。
Line Detection直线检测
OpenMV Cam可以在几乎跑满帧率的情况下,快速完成无限长的直线检测。而且,也可以找到非无限长的线段。您可以在这里看到我们的视频。
Template Matching模板匹配
您可以使用OpenMV模板匹配来检测视野中是否有模板相似的图片。例如,可以使用模板匹配来查找PCB上的标记,或读取显示器上的已知数字。
Image Capture图像捕捉
你可以使用OpenMV捕获高达320x240 RGB565(或640x480灰度)BMP / JPG / PPM / PGM图像。可以直接在Python脚本中控制如何捕获图像。最重要的是,使用机器视觉的算法,进行绘制直线,绘制字符,然后保存。
Video Recording视频录制
您可以使用OpenMV摄像机记录多达320x240 RGB565(或640x480灰度)MJPEG视频或GIF图像。您可以在Python脚本中直接控制如何将每个视频帧记录,并完全控制视频录制的开始和结束。而且,像拍摄图像一样,您可以使用机器视觉的算法,进行绘制直线,绘制字符,然后保存。
最后,所有上述功能都可以混合IO引脚的控制,来配合你自己的自定义应用,以与现实世界交谈。