v1.0.0-beta

v1.0.0-beta est la version initiale (bêta) du micrologiciel OpenMV — la première version publique de l’OpenMV Cam. Elle établit les fondations sur lesquelles tout repose depuis : un environnement d’exécution de scripts MicroPython sur l’OpenMV Cam STM32F4, une API caméra sensor, une bibliothèque de vision industrielle image, et l’OpenMV IDE pour le développement en direct. S’agissant de la première version, il n’y a rien à migrer — cette entrée résume ce que proposait le micrologiciel initial.

Points forts

  • MicroPython sur l’OpenMV Cam — exécutez des scripts Python sur la caméra via USB avec un REPL interactif et une interface de débogage IDE.

  • Capture caméra — le module sensor : configurez le format de pixel / la résolution / la fréquence d’images et capturez des trames avec snapshot().

  • Vision industrielle — la bibliothèque image : détection de blobs colorés, dessin, filtres, correspondance de modèles, détection de visages par Haar Cascade et points clés.

  • OpenMV IDE — un IDE de bureau avec une visionneuse de tampon d’image en direct, un éditeur de code et une mise à jour du micrologiciel intégrée.

  • Matériel — l’OpenMV Cam d’origine (STM32F4) avec des caméras OmniVision OV9650 / OV2640, prise en charge de la carte SD et du shield WiFi.

Nouvelles fonctionnalités

Scripts et modules :

  • Un environnement d’exécution MicroPython comme base du micrologiciel, avec exécution de scripts sur la caméra via une interface de débogage USB et un REPL interactif.

  • Un module sensorset_pixformat() / set_framesize() / set_framerate(), plafond de gain / luminosité / contraste / commandes de gain, reset(), snapshot(), ainsi que miroir horizontal / retournement vertical — plus des constantes de capteur et de résolution.

  • Un module de vision industrielle image (imlib) exposant des objets image (avec le protocole tampon de Python) et la surface de traitement d’images ci-dessous.

  • Un module time / clock pour la mesure du temps et des FPS.

  • Premiers modules de périphériques — led (LED RGB), spi, gpio (E/S de broches avec enregistrement d’interruptions externes), uart, rng matériel, un minuteur systick, et file / select pour le système de fichiers.

  • Réseau via socket / wlan (WiFi CC3000), un pilote d’affichage lcd, un module de capteur thermique mlx90620, et l’enregistrement vidéo AVI/MJPEG.

Traitement d’images :

  • Trames caméra capturées dans un tampon d’image alloué dynamiquement.

  • Détection de blobs colorés (remplissage par diffusion) et seuillage dans les espaces colorimétriques LAB/XYZ (avec tables de conversion RGB↔LAB).

  • Primitives de dessin (ligne, chaîne/police, cercle), filtres (érosion / dilatation / médian / inversion / binaire / seuil), mise à l’échelle d’image (bilinéaire), extraction de sous-image, blit et fusion alpha.

  • Correspondance de modèles (avec enregistrement/chargement de modèle), détection de visages/objets par Haar Cascade Viola-Jones (cascades chargeables + un convertisseur de cascades OpenCV), une cascade LBP et un détecteur d’yeux, détection de points clés et correspondance de descripteurs FAST / SURF / FREAK, images intégrales et détection de mouvement.

  • Encodage JPEG (avec contrôle de qualité), enregistrement d’images PPM / PGM / PNG / brutes, et encodage vidéo AVI/MJPEG.

IDE et outils :

  • L’application de bureau OpenMV IDE — visionneuse de tampon d’image en direct avec FPS, un éditeur de code (ouvrir / nouveau / enregistrer / enregistrer sous, fichiers récents, menu Exemples intégré), connexion / réinitialisation / connexion automatique, et chargement/enregistrement de configuration.

  • Mise à jour du micrologiciel intégrée via DFU, un utilitaire pydfu en pur Python, et une commande USB de mise en mode programme d’amorçage forcée ; la bibliothèque/protocole hôte openmv.py ; une visionneuse de tampon d’image autonome et un outil de cascade ; et des règles udev pour Linux.

Autres changements et améliorations

  • Exemples de scripts intégrés : détection de blobs, détection / suivi de visages, SURF / points clés, correspondance de modèles, LCD, visionneuse de tampon d’image, blit, diffuseur MJPEG, enregistrement AVI, serveur d’écho, FPS et démonstrations d’écriture JPEG / image.

Prise en charge du matériel et des cartes

  • OpenMV Cam — STM32F4xx (STM32F407 / F429) sur les premières révisions matérielles, avec CMSIS + HAL périphérique/Cube STM32 et CMSIS-DSP.

  • Caméras — OmniVision OV9650 et OV2640 (SCCB/I2C, contrôle de régulateur) via un HAL de capteur, plus le capteur IR thermique MLX90620 ; résolutions de QQCIF/QCIF jusqu’à SVGA/UXGA à 30 FPS maximum.

  • Stockage / connectivité — carte SD (SPI et SDIO) avec FatFS, un système de fichiers en mémoire flash interne, SDRAM (tampon d’image en SDRAM), USB OTG FS (débogage + DFU), WiFi CC3000 (shields WiFi / BLE), une LED IR, ainsi que I2C logiciel/matériel et SPI piloté par DMA.

Changements d’API non rétrocompatibles

Aucun. v1.0.0-beta est la version initiale (bêta) du micrologiciel OpenMV — il n’existe aucune version antérieure avec laquelle rompre la compatibilité. Les versions suivantes documentent leurs changements non rétrocompatibles par rapport à leur prédécesseur ; voir le reste du journal des modifications.