v1.0.0-beta

v1.0.0-beta on OpenMV-laiteohjelmiston ensimmäinen (beeta-)julkaisu — OpenMV Cam -kameran ensimmäinen julkinen versio. Se luo perustan, jolle kaikki sittemmin rakentuu: MicroPython-skriptausajoympäristö STM32F4-pohjaisessa OpenMV Cam -kamerassa, kameran sensor-rajapinta, image-konenäkökirjasto ja OpenMV IDE reaaliaikaista kehitystä varten. Ensimmäisenä julkaisuna siitä ei ole mitään, mistä siirtyä — tämä merkintä tiivistää, mitä ensimmäisessä laiteohjelmistossa toimitettiin.

Kohokohdat

  • MicroPython OpenMV Cam -kamerassa — suorita Python-skriptejä kamerassa USB:n yli interaktiivisella REPL:llä ja IDE:n virheenkorjausrajapinnalla.

  • Kameran kuvankaappaussensor-moduuli: määritä pikseliformaatti / resoluutio / kehysnopeus ja kaappaa kehyksiä snapshot()-kutsulla.

  • Konenäköimage-kirjasto: värillisten blobien tunnistus, piirtäminen, suodattimet, mallisovitus, Haar-kaskadiin perustuva kasvojentunnistus ja avainpisteet.

  • OpenMV IDE — työpöytä-IDE, jossa on reaaliaikainen kehyspuskurin katselin, koodieditori ja IDE:n sisäinen laiteohjelmistopäivitys.

  • Laitteisto — alkuperäinen OpenMV Cam (STM32F4) OmniVision OV9650 / OV2640 -kameroilla sekä SD-kortti- ja WiFi-shield-tuella.

Uudet ominaisuudet

Skriptaus ja moduulit:

  • MicroPython-ajoympäristö laiteohjelmiston pohjana, kamerassa tapahtuvalla skriptin suorituksella USB-virheenkorjausrajapinnan yli ja interaktiivisella REPL:llä.

  • sensor-moduuli — set_pixformat() / set_framesize() / set_framerate(), vahvistuskaton / kirkkauden / kontrastin / vahvistuksen säätimet, reset(), snapshot() sekä vaakapeilaus / pystykääntö — sekä sensori- ja resoluutiovakiot.

  • image-konenäkömoduuli (imlib), joka tarjoaa kuvaobjektit (Python-puskuriprotokollalla) ja alla olevan kuvankäsittelypinnan.

  • time- / clock-moduuli ajanottoa ja FPS-mittausta varten.

  • Varhaiset oheislaitemoduulit — led (RGB-LED), spi, gpio (nastojen I/O ulkoisen keskeytyksen rekisteröinnillä), uart, laitteistopohjainen rng, systick-ajastin sekä file / select tiedostojärjestelmälle.

  • Verkkoyhteydet moduulien socket / wlan (CC3000 WiFi) kautta, lcd-näyttöajuri, mlx90620-lämpösensorimoduuli ja AVI/MJPEG-videotallennus.

Kuvankäsittely:

  • Kameran kehykset kaapattuna dynaamisesti varattuun kehyspuskuriin.

  • Värillisten blobien tunnistus (flood-fill) ja LAB/XYZ-väriavaruuden kynnystäminen (RGB↔LAB-muunnostauluilla).

  • Piirtoprimitiivit (viiva, merkkijono/fontti, ympyrä), suodattimet (eroosio / dilaatio / mediaani / käänteistys / binäärimuunnos / kynnystäminen), kuvan skaalaus (bilineaarinen), aliosakuvan poiminta, blit ja alfasekoitus.

  • Mallisovitus (mallin tallennuksella/latauksella), Viola-Jones Haar-kaskadiin perustuva kasvojen/objektien tunnistus (ladattavat kaskadit + OpenCV-kaskadimuunnin), LBP-kaskadi ja silmäntunnistin, FAST / SURF / FREAK -avainpisteiden tunnistus ja kuvaajien sovitus, integraalikuvat ja liikkeentunnistus.

  • JPEG-pakkaus (laadunhallinnalla), PPM / PGM / PNG / raakakuvan tallennus ja AVI/MJPEG-videopakkaus.

IDE ja työkalut:

  • OpenMV IDE -työpöytäsovellus — reaaliaikainen kehyspuskurin katselin FPS-näytöllä, koodieditori (avaa / uusi / tallenna / tallenna nimellä, viimeisimmät tiedostot, mukana toimitettu Esimerkit-valikko), yhdistä / nollaa / automaattinen yhdistäminen sekä asetusten lataus/tallennus.

  • IDE:n sisäinen laiteohjelmistopäivitys DFU:n yli, puhtaasti Python-pohjainen pydfu-apuohjelma ja USB-komento käynnistyslataimeen pakottamiseksi; openmv.py-isäntäkirjasto/-protokolla; erillinen kehyspuskurin katselin ja kaskadityökalu; sekä Linuxin udev-säännöt.

Muut muutokset ja parannukset

  • Mukana toimitetut esimerkkiskriptit: blobien tunnistus, kasvojentunnistus / -seuranta, SURF / avainpisteet, mallisovitus, LCD, kehyspuskurin katselin, blit, MJPEG-suoratoistin, AVI-tallennus, echo-palvelin, FPS sekä JPEG- / kuvankirjoitusdemot.

Laitteisto- ja korttituki

  • OpenMV Cam — STM32F4xx (STM32F407 / F429) varhaisissa laitteistoversioissa, CMSIS + STM32:n oheislaite-/Cube HAL:lla ja CMSIS-DSP:llä.

  • Kamerat — OmniVision OV9650 ja OV2640 (SCCB/I2C, säätimen ohjaus) sensorin HAL:n kautta, sekä MLX90620 lämpö-IR-sensori; resoluutiot QQCIF/QCIF:stä aina SVGA/UXGA:han asti, jopa 30 FPS:n nopeudella.

  • Tallennus / liitettävyys — SD-kortti (SPI ja SDIO) FatFS:llä, sisäinen flash-tiedostojärjestelmä, SDRAM (kehyspuskuri SDRAM:ssa), USB OTG FS (virheenkorjaus + DFU), CC3000 WiFi (WiFi- / BLE-shieldit), IR-LED sekä ohjelmisto-/laitteistopohjainen I2C ja DMA-ohjattu SPI.

Rikkovat API-muutokset

Ei mitään. v1.0.0-beta on OpenMV-laiteohjelmiston ensimmäinen (beeta-)julkaisu — aiempaa julkaisua, jonka yhteensopivuuden se voisi rikkoa, ei ole. Myöhemmät julkaisut dokumentoivat rikkovat muutoksensa edeltäjäänsä verrattuna; katso loput muutoslokista.