v1.0.0-beta¶
v1.0.0-beta je první (beta) vydání firmwaru OpenMV — první veřejné sestavení pro OpenMV Cam. Zakládá základ, na kterém staví vše od té doby: skriptovací běhové prostředí MicroPython na OpenMV Cam s STM32F4, API kamery sensor, knihovnu strojového vidění image a OpenMV IDE pro živý vývoj. Jelikož jde o první vydání, není z čeho migrovat — tento záznam shrnuje, s čím počáteční firmware přišel.
Hlavní novinky¶
MicroPython na OpenMV Cam — spouštějte na kameře skripty v Pythonu přes USB s interaktivním REPL a ladicím rozhraním IDE.
Snímání kamerou — modul
sensor: nastavte formát pixelů / rozlišení / snímkovou frekvenci a získávejte snímky pomocísnapshot().Strojové vidění — knihovna
image: detekce barevných blobů, kreslení, filtry, porovnávání šablon, detekce obličejů kaskádou Haar a klíčové body.OpenMV IDE — desktopové IDE s živým prohlížečem snímkového bufferu (frame buffer), editorem kódu a aktualizací firmwaru přímo v IDE.
Hardware — původní OpenMV Cam (STM32F4) s kamerami OmniVision OV9650 / OV2640, podpora SD karty a WiFi shieldu.
Nové funkce¶
Skriptování a moduly:
Běhové prostředí MicroPython jako základ firmwaru, se spouštěním skriptů přímo na kameře přes ladicí rozhraní USB a interaktivním REPL.
Modul
sensor—set_pixformat()/set_framesize()/set_framerate(), ovládání stropu zisku / jasu / kontrastu / zisku,reset(),snapshot()a horizontální zrcadlení / vertikální převrácení — plus konstanty senzoru a rozlišení.Modul strojového vidění
image(imlib) zpřístupňující obrazové objekty (s protokolem buffer Pythonu) a níže uvedenou plochu pro zpracování obrazu.Modul
time/clockpro měření času a FPS.Rané periferní moduly —
led(RGB LED),spi,gpio(I/O pinů s registrací externího přerušení),uart, hardwarovýrng, časovač systick afile/selectpro souborový systém.Síťování přes
socket/wlan(CC3000 WiFi), ovladač displejelcd, modul termálního senzorumlx90620a nahrávání videa AVI/MJPEG.
Zpracování obrazu:
Snímky z kamery zachycené do dynamicky alokovaného snímkového bufferu (frame buffer).
Detekce barevných blobů (flood-fill) a prahování v barevném prostoru LAB/XYZ (s převodními tabulkami RGB↔LAB).
Kreslicí primitiva (čára, řetězec/font, kruh), filtry (eroze / dilatace / medián / inverze / binární / práh), škálování obrazu (bilineární), extrakce podoblasti obrazu, blit a alfa míchání.
Porovnávání šablon (s ukládáním/načítáním šablon), detekce obličejů/objektů kaskádou Haar metodou Viola-Jones (načítatelné kaskády + převodník kaskád OpenCV), kaskáda LBP a detektor očí, detekce klíčových bodů FAST / SURF / FREAK a porovnávání deskriptorů, integrální obrazy a detekce pohybu.
Kódování JPEG (s řízením kvality), ukládání obrazu PPM / PGM / PNG / raw a kódování videa AVI/MJPEG.
IDE a nástroje:
Desktopová aplikace OpenMV IDE — živý prohlížeč snímkového bufferu (frame buffer) s FPS, editor kódu (otevřít / nový / uložit / uložit jako, nedávné soubory, vestavěná nabídka Examples), připojit / resetovat / automatické připojení a načtení/uložení konfigurace.
Aktualizace firmwaru přímo v IDE přes DFU, čistě pythonový nástroj
pydfua USB příkaz pro vynucené přepnutí do bootloaderu; hostitelská knihovna/protokolopenmv.py; samostatný prohlížeč snímkového bufferu (frame buffer) a nástroj pro kaskády; a pravidla udev pro Linux.
Další změny a vylepšení¶
Vestavěné ukázkové skripty: detekce blobů, detekce / sledování obličejů, SURF / klíčové body, porovnávání šablon, LCD, prohlížeč snímkového bufferu (frame buffer), blit, MJPEG streamer, nahrávání AVI, echo server, FPS a ukázky zápisu JPEG / obrazu.
Podpora hardwaru a desek¶
OpenMV Cam — STM32F4xx (STM32F407 / F429) napříč ranými revizemi hardwaru, s CMSIS + periferním/Cube HAL pro STM32 a CMSIS-DSP.
Kamery — OmniVision OV9650 a OV2640 (SCCB/I2C, řízení regulátoru) přes senzorový HAL, plus termální IR senzor MLX90620; rozlišení od QQCIF/QCIF až po SVGA/UXGA při až 30 FPS.
Úložiště / konektivita — SD karta (SPI a SDIO) s FatFS, interní souborový systém ve flash paměti, SDRAM (snímkový buffer (frame buffer) v SDRAM), USB OTG FS (ladění + DFU), CC3000 WiFi (WiFi / BLE shieldy), IR LED a softwarové/hardwarové I2C a SPI řízené DMA.
Zásadní změny API¶
Žádné. v1.0.0-beta je první (beta) vydání firmwaru OpenMV — neexistuje žádné předchozí vydání, se kterým by se kompatibilita narušila. Následující vydání dokumentují své zásadní změny vůči svému předchůdci; viz zbytek seznamu změn.