v4.4.3

v4.4.3 introduit la carte OpenMV RT1060 (NXP i.MX RT1060), une API d’enregistrement MJPEG considérablement étendue, de nouvelles méthodes d’image ISP (balance des blancs automatique, matrice de correction des couleurs, gamma), et MicroPython 1.20. Les noms des cartes Arduino ont changé et les valeurs par défaut du MJPEG ont évolué — consultez les changements incompatibles ci-dessous.

Points forts

  • OpenMV RT1060 — nouvelle carte NXP i.MX RT1060 (et une révision REV2).

  • API MJPEG étenduewrite(), count, is_closed, sync(), mots-clés ROI/palette/alpha, et un finaliseur.

  • Nouvelles méthodes ISPimage.awb(), image.ccm(), image.gamma().

  • MicroPython mis à jour vers 1.20.0.

  • Changement incompatible : les cibles de carte Arduino ont été renommées et la qualité par défaut du MJPEG a changé — voir les changements incompatibles.

Nouvelles fonctionnalités

  • OpenMV RT1060 — portage complet du NXP i.MX RT1060 (pilotes capteur, GPIO, I2C, SPI) et configuration de carte, plus la prise en charge de la révision REV2 de la carte RT1060 et de l’alarme/réveil machine.RTC sur le port i.MX RT.

  • MJPEG — une nouvelle méthode Mjpeg.write() (avec les mots-clés roi, rgb_channel, alpha, color_palette, alpha_palette, hint) plus count, is_closed, sync() et un finaliseur __del__, ainsi que les alias de constructeur MJPEG / Mjpeg / mjpeg.

  • Méthodes d’image ISPimage.awb([max]) (balance des blancs automatique), image.ccm(matrix) (matrice de correction des couleurs 3x3 / 4x3), et image.gamma(gamma, contrast, brightness).

  • AprilTag — nouveaux attributs de centroïde à virgule flottante cxf / cyf (cx / cy renvoient toujours des entiers arrondis).

  • MLtf.regression() accepte désormais un ndarray ulab et prend en charge les tenseurs d’entrée 2D (la 1D reste prise en charge) ; des opérations TensorFlow Lite supplémentaires ont été activées dans les bibliothèques libtf intégrées.

Autres changements et améliorations

  • MicroPython mis à jour vers 1.20.0 ; ulab mis à jour vers 6.0.12.

  • image.gamma / gamma_corr ont été retravaillés en méthode ISP et étendus pour prendre en charge les images Bayer et YUV (pas seulement les images mutables).

  • Les cartes STM32 (Portenta H7, Nicla Vision) sont passées au pilote WiFi cyw43 open source.

  • La bibliothèque rtsp a été rendue portable (utilise random/time au lieu de pyb) ; urequests ferme désormais toujours son socket.

Corrections de bogues

Caméra et capteurs :

  • Correction de la fréquence d’horloge OV767x (CLKRC) sur l’Arduino Nano 33 BLE Sense, de la gestion du contournement/pré-diviseur CLKRC de l’OV7670, et inversion des lignes de données D0/D1 sur l’Arduino Nicla Vision / le kit ML (port nrf).

Système et USB :

  • Correction de la gestion des paquets USB courts en mode débogage TinyUSB (transferts IDE/hôte plus fiables).

  • Correction de la polarité de la LED clignotante de l’OpenMV RT1060 et de la détection de carte SD à la mise sous tension.

Matériel et prise en charge des cartes

  • OpenMV RT1060 — nouvelle carte NXP i.MX RT1060, plus la révision REV2.

  • STM32 — la Portenta H7 / Nicla Vision sont passées au pilote WiFi cyw43 open source.

Changements d’API incompatibles

Ruptures d’API visibles par l’utilisateur entre v4.4.2 et v4.4.3. Périmètre : modules C Python dans modules/ et bibliothèques Python dans scripts/libraries/.

Chaque changement est étiqueté selon son impact :

  • comportement — même API, résultats différents ; revérifiez les scripts ajustés.

  • outillage — affecte le nommage / le flashage des cartes, pas l’API Python.

Les changements sont regroupés par impact dans cet ordre. Chaque hash de commit pointe vers son diff sur GitHub.

Valeurs par défaut et gestion des erreurs du MJPEG (comportement)

Le code d’enregistrement MJPEG a été remanié. La quality JPEG par défaut de add_frame() / write() a été augmentée de 50 à 90 (les enregistrements sont plus volumineux et de meilleure qualité par défaut), une qualité invalide lève désormais ValueError, l’utilisation d’un fichier fermé lève désormais OSError, et les méthodes d’enregistrement renvoient désormais l’objet Mjpeg. Les scripts qui dépendaient de l’ancienne qualité par défaut ou du comportement d’erreur précédent doivent être revérifiés.

Commit : 3fc55ad31

Cibles de carte Arduino renommées (outillage)

Les cibles de carte Arduino ont été renommées selon une convention de nommage mise à jour et tous les manifestes de carte (ensembles de modules figés) ont été actualisés. Cela ne change pas l’API Python, mais les noms de fichier de micrologiciel/de carte utilisés pour compiler ou flasher les cartes Arduino ont changé — mettez votre outillage à jour en conséquence.

Commits : 77a7d16c0, 59d9f2603

Liste de contrôle de migration

Pour un portage propre vers v4.4.3 : revérifiez les enregistrements MJPEG pour la nouvelle qualité par défaut et le comportement d’erreur (le changement MJPEG), et mettez à jour l’outillage de compilation/flashage pour les cibles de carte Arduino renommées (le renommage des cartes). Tous les autres scripts s’exécutent sans modification.