v3.6.3¶
v3.6.3 active TensorFlow sur l’OpenMV 3 / F7, ajoute la prise en charge des modèles uint8/int8/float32, fait passer les capteurs thermiques MLX90640/AMG8833 au I2C matériel, ajoute les histogrammes de différence d’image et le décalage de correction d’objectif, et retravaille le contrôle de lecture. Les constantes d’indication de image ont été renommées et la mise à l’échelle de draw_image() a changé — consultez les changements incompatibles ci-dessous.
Points forts¶
TensorFlow sur OpenMV 3 / F7 —
tfactivé sur les caméras à base de F7, avec prise en charge des modèles uint8/int8/float32.Capteurs thermiques — MLX90640 et AMG8833 passés au I2C matériel avec un nouveau pilote MLX90640.
Imagerie — prise en charge de la différence d’image dans
get_histogram()et correction de décalage pourlens_corr().draw_image — palettes alpha en mode niveaux de gris et contrôle de lecture retravaillé.
Incompatibilité : les constantes d’indication de
imageont été renommées et la mise à l’échelle négative dedraw_image()a été supprimée — voir les changements incompatibles.
Nouvelles fonctionnalités¶
TensorFlow — activation de
tfsur OpenMV 3 / F7 et mise à jour de TensorFlow pour la prise en charge des modèles uint8 / int8 / float32.get_histogram()— ajout de la capacité de différence d’image.lens_corr()— ajout de la correction de décalage.draw_image()— les palettes alpha fonctionnent désormais en mode niveaux de gris (non bilinéaire), avec des palettes alpha interpolées bilinéairement et le centrage d’image ; nouveau code de contrôle de lecture.
Autres changements et améliorations¶
Passage du MLX90640 et de l’AMG8833 au I2C matériel (nouveau pilote MLX90640, I2C matériel en config-carte pour les capteurs externes, plus de tentatives de lecture MLX), activation du mode fast-mode-plus I2C sur les caméras qui le prennent en charge, ajout de la lecture/écriture d’octets cambus avec timings I2C, et omission de l’application de l’alpha lorsqu’il vaut 0 pour les performances.
Corrections de bugs¶
Caméra et imagerie :
Correction et accélération de la correction de rotation, du bug Bayer-vers-YCbCr du bord gauche, et ajout d’une correction de bord à
bayer_to_y()/bayer_to_binary().
Outillage :
Correction des erreurs Python 2/3 et de l’ordre d’appel de
get_statistics().
Changements d’API incompatibles¶
Ruptures d’API visibles par l’utilisateur entre v3.6.2 et v3.6.3. Portée : modules C Python dans modules/ et bibliothèques Python dans scripts/libraries/.
Chaque changement est marqué selon son impact :
minor — API restreinte ; n’affecte que les scripts qui l’utilisaient.
behavior — même API, résultats différents ; revérifiez les scripts ajustés.
Les changements sont regroupés par impact dans cet ordre. Si vous souhaitez simplement porter votre code, passez à la liste de contrôle de migration à la fin. Chaque hash de commit renvoie vers son diff sur GitHub.
Constantes d’indication de image renommées (minor)¶
Les constantes d’indication de dessin de image ont été renommées : image.INTERPOLATE_BILINEAR → image.IMAGE_HINT_BILINEAR et image.IMAGE_CENTER → image.IMAGE_HINT_CENTER. Les scripts qui transmettaient les anciens noms de constantes à draw_image() doivent utiliser les nouveaux noms. (Ces constantes sont de nouveau renommées en image.BILINEAR / image.CENTER dans la v3.7.0.)
Commits : 8f8872537
Mise à l’échelle négative de draw_image() supprimée (behavior)¶
image.draw_image() ne prend plus en charge la mise à l’échelle négative, et le point d’échantillonnage de la texture a été déplacé au centre du pixel. Les scripts qui s’appuyaient sur la mise à l’échelle négative pour retourner une image lors du dessin doivent la retourner d’une autre manière, et la sortie peut se décaler de jusqu’à un demi-pixel par rapport à avant.
Commits : 7e83dbb92
Liste de contrôle de migration¶
Renommez image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER en image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (le renommage des constantes d’indication), et remplacez toute mise à l’échelle négative de draw_image() par un retournement explicite (le changement de mise à l’échelle de draw_image). Tous les autres scripts s’exécutent sans modification.