v1.0.0-beta¶
v1.0.0-beta este versiunea inițială (beta) a firmware-ului OpenMV — prima compilare publică a OpenMV Cam. Stabilește fundația pe care totul se construiește de atunci: un mediu de rulare pentru scripturi MicroPython pe OpenMV Cam cu STM32F4, un API de cameră sensor, o bibliotecă de viziune artificială image și OpenMV IDE pentru dezvoltare în timp real. Fiind prima versiune, nu există nimic de migrat — această intrare rezumă ce a fost livrat în firmware-ul inițial.
Repere¶
MicroPython pe OpenMV Cam — rulați scripturi Python pe cameră prin USB cu un REPL interactiv și o interfață de depanare IDE.
Captură de cameră — modulul
sensor: configurați formatul de pixeli / rezoluția / rata de cadre și capturați cadre cusnapshot().Viziune artificială — biblioteca
image: detectare de blob-uri color, desenare, filtre, potrivire de șabloane, detectare de fețe cu cascadă Haar și puncte-cheie.OpenMV IDE — un IDE desktop cu un vizualizator de tampon de cadre (frame buffer) în timp real, editor de cod și actualizare de firmware din IDE.
Hardware — OpenMV Cam original (STM32F4) cu camere OmniVision OV9650 / OV2640, suport pentru card SD și WiFi-shield.
Funcționalități noi¶
Scripturi și module:
Un mediu de rulare MicroPython ca bază a firmware-ului, cu execuție de scripturi pe cameră printr-o interfață de depanare USB și un REPL interactiv.
Un modul
sensor—set_pixformat()/set_framesize()/set_framerate(), controale pentru plafonul de amplificare (gain) / luminozitate / contrast / amplificare (gain),reset(),snapshot()și oglindire orizontală / răsturnare verticală — plus constante de senzor și de rezoluție.Un modul de viziune artificială
image(imlib) care expune obiecte de imagine (cu protocolul de tampon Python) și suprafața de procesare a imaginilor de dedesubt.Un modul
time/clockpentru măsurarea timpului și a FPS.Module periferice timpurii —
led(LED RGB),spi,gpio(I/O pe pini cu înregistrare de întrerupere externă),uart,rnghardware, un temporizator systick șifile/selectpentru sistemul de fișiere.Conectivitate prin
socket/wlan(WiFi CC3000), un driver de afișajlcd, un modul de senzor termicmlx90620și înregistrare video AVI/MJPEG.
Procesare de imagini:
Cadre de cameră capturate într-un tampon de cadre (frame buffer) alocat dinamic.
Detectare de blob-uri color (flood-fill) și praguri în spațiul de culori LAB/XYZ (cu tabele de conversie RGB↔LAB).
Primitive de desenare (linie, șir/font, cerc), filtre (erodare / dilatare / median / inversare / binar / prag), scalare de imagini (biliniară), extragere de sub-imagini, blit și amestecare alfa.
Potrivire de șabloane (cu salvare/încărcare de șabloane), detectare de fețe/obiecte cu cascadă Haar Viola-Jones (cascade încărcabile + un convertor de cascade OpenCV), o cascadă LBP și un detector de ochi, detectare de puncte-cheie FAST / SURF / FREAK și potrivire de descriptori, imagini integrale și detectare de mișcare.
Codare JPEG (cu control al calității), salvare de imagini PPM / PGM / PNG / brute și codare video AVI/MJPEG.
IDE și instrumente:
Aplicația desktop OpenMV IDE — vizualizator de tampon de cadre (frame buffer) în timp real cu FPS, un editor de cod (deschidere / nou / salvare / salvare ca, fișiere recente, meniu Examples inclus), conectare / resetare / conectare automată și încărcare/salvare a configurației.
Actualizare de firmware din IDE prin DFU, un utilitar
pydfuîn Python pur și o comandă USB de forțare în bootloader; biblioteca/protocolul gazdăopenmv.py; un vizualizator de tampon de cadre autonom și un instrument de cascade; și reguli udev pentru Linux.
Alte modificări și îmbunătățiri¶
Scripturi de exemplu incluse: detectare de blob-uri, detectare / urmărire de fețe, SURF / puncte-cheie, potrivire de șabloane, LCD, vizualizator de tampon de cadre, blit, streamer MJPEG, înregistrare AVI, server echo, FPS și demonstrații de scriere JPEG / imagine.
Suport pentru hardware și plăci¶
OpenMV Cam — STM32F4xx (STM32F407 / F429) pe primele revizii de hardware, cu CMSIS + HAL periferic/Cube STM32 și CMSIS-DSP.
Camere — OmniVision OV9650 și OV2640 (SCCB/I2C, control al regulatorului) printr-un HAL de senzor, plus senzorul termic IR MLX90620; rezoluții de la QQCIF/QCIF până la SVGA/UXGA la până la 30 FPS.
Stocare / conectivitate — card SD (SPI și SDIO) cu FatFS, un sistem de fișiere intern în memoria flash, SDRAM (tampon de cadre în SDRAM), USB OTG FS (depanare + DFU), WiFi CC3000 (shield-uri WiFi / BLE), un LED IR și I2C soft/hardware și SPI condus prin DMA.
Modificări incompatibile ale API-ului¶
Niciuna. v1.0.0-beta este versiunea inițială (beta) a firmware-ului OpenMV — nu există o versiune anterioară cu care compatibilitatea să poată fi întreruptă. Versiunile ulterioare își documentează modificările incompatibile față de predecesorul lor; vedeți restul istoricului de modificări.