v1.0.0-beta¶
v1.0.0-beta is de eerste (beta-)release van de OpenMV-firmware — de eerste publieke build van de OpenMV Cam. Het legt het fundament waarop sindsdien alles voortbouwt: een MicroPython-scriptingruntime op de STM32F4 OpenMV Cam, een camera-sensor-API, een image machine-vision-library, en de OpenMV IDE voor live ontwikkeling. Aangezien dit de eerste release is, valt er niets te migreren — dit item vat samen wat de eerste firmware bij oplevering bevatte.
Hoogtepunten¶
MicroPython op de OpenMV Cam — voer Python-scripts uit op de camera via USB met een interactieve REPL en IDE-debuginterface.
Camera-opname — de
sensor-module: configureer pixelformaat / resolutie / framesnelheid en leg frames vast metsnapshot().Machine vision — de
image-library: kleurblobdetectie, tekenen, filters, template matching, Haar-cascade-gezichtsdetectie en keypoints.OpenMV IDE — een desktop-IDE met een live framebuffer-viewer, code-editor en firmware-update binnen de IDE.
Hardware — de originele OpenMV Cam (STM32F4) met OmniVision OV9650 / OV2640 camera’s, ondersteuning voor SD-kaart en WiFi-shield.
Nieuwe functies¶
Scripting en modules:
Een MicroPython-runtime als firmwarebasis, met script-uitvoering op de camera via een USB-debuginterface en een interactieve REPL.
Een
sensor-module —set_pixformat()/set_framesize()/set_framerate(), regelaars voor gain ceiling / helderheid / contrast / versterking,reset(),snapshot()en horizontaal spiegelen / verticaal omdraaien — plus sensor- en resolutieconstanten.Een
imagemachine-vision-module (imlib) die afbeeldingsobjecten (met het Python buffer-protocol) en het onderliggende beeldverwerkingsoppervlak blootstelt.Een
time/clock-module voor timing en FPS-meting.Vroege randapparaatmodules —
led(RGB-LED),spi,gpio(pin-I/O met registratie van externe interrupts),uart, hardware-rng, een systick-timer enfile/selectvoor het bestandssysteem.Netwerken via
socket/wlan(CC3000 WiFi), eenlcd-displaystuurprogramma, eenmlx90620-thermische-sensormodule en AVI/MJPEG-videorecording.
Beeldverwerking:
Cameraframes vastgelegd in een dynamisch toegewezen framebuffer.
Kleurblobdetectie (flood-fill) en LAB/XYZ-kleurruimtedrempelwaarden (met RGB↔LAB-conversietabellen).
Tekenprimitieven (lijn, string/lettertype, cirkel), filters (erode / dilate / median / invert / binary / threshold), afbeeldingsschaling (bilineair), sub-afbeeldingextractie, blit en alpha blending.
Template matching (met opslaan/laden van templates), Viola-Jones Haar-cascade-gezichts-/objectdetectie (laadbare cascades + een OpenCV-cascadeconverter), een LBP-cascade en oogdetector, FAST / SURF / FREAK keypoint-detectie en descriptor-matching, integraalafbeeldingen en bewegingsdetectie.
JPEG-codering (met kwaliteitsregeling), PPM / PGM / PNG / raw afbeeldingsopslag, en AVI/MJPEG-videocodering.
IDE en tooling:
De OpenMV IDE-desktopapplicatie — live framebuffer-viewer met FPS, een code-editor (openen / nieuw / opslaan / opslaan als, recente bestanden, meegeleverd menu met voorbeelden), verbinden / resetten / automatisch verbinden, en configuratie laden/opslaan.
Firmware-update via DFU binnen de IDE, een puur-Python
pydfu-hulpprogramma en een USB-commando om de bootloader geforceerd te starten; deopenmv.pyhost-library/-protocol; een losstaande framebuffer-viewer en cascade-tool; en Linux udev-regels.
Overige wijzigingen en verbeteringen¶
Meegeleverde voorbeeldscripts: blobdetectie, gezichtsdetectie / -tracking, SURF / keypoints, template matching, LCD, framebuffer-viewer, blit, MJPEG-streamer, AVI-recording, echoserver, FPS en JPEG- / afbeelding-schrijfdemo’s.
Hardware- en boardondersteuning¶
OpenMV Cam — STM32F4xx (STM32F407 / F429) over de vroege hardwarerevisies, met CMSIS + STM32-peripheral/Cube HAL en CMSIS-DSP.
Camera’s — OmniVision OV9650 en OV2640 (SCCB/I2C, regelaarbesturing) via een sensor-HAL, plus de MLX90620 thermische IR-sensor; resoluties van QQCIF/QCIF tot SVGA/UXGA bij maximaal 30 FPS.
Opslag / connectiviteit — SD-kaart (SPI en SDIO) met FatFS, een intern flashgeheugenbestandssysteem, SDRAM (framebuffer in SDRAM), USB OTG FS (debug + DFU), CC3000 WiFi (WiFi-/BLE-shields), een IR-LED, en software-/hardware-I2C en DMA-aangestuurde SPI.
Ingrijpende API-wijzigingen¶
Geen. v1.0.0-beta is de eerste (beta-)release van de OpenMV-firmware — er is geen eerdere release waarmee de compatibiliteit verbroken kan worden. Volgende releases documenteren hun ingrijpende wijzigingen ten opzichte van hun voorganger; zie de rest van de changelog.