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 met snapshot().

  • 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 image machine-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 en file / select voor het bestandssysteem.

  • Netwerken via socket / wlan (CC3000 WiFi), een lcd-displaystuurprogramma, een mlx90620-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; de openmv.py host-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.