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

  • 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 sensorset_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 / clock pentru măsurarea timpului și a FPS.

  • Module periferice timpurii — led (LED RGB), spi, gpio (I/O pe pini cu înregistrare de întrerupere externă), uart, rng hardware, un temporizator systick și file / select pentru sistemul de fișiere.

  • Conectivitate prin socket / wlan (WiFi CC3000), un driver de afișaj lcd, un modul de senzor termic mlx90620 ș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.