v3.6.4

v3.6.4 ajoute une bibliothèque de serveur vidéo RTSP, corrige entièrement les modes d’imagerie de l”OV5640 (Grayscale / RGB565 / Bayer / JPEG à toutes les résolutions), double les FPS du capteur avec un pilote optimisé, et corrige un lot de bugs d’encodage Bayer / JPEG. image.get_pixel() sur les images Bayer et la rotation automatique du capteur ont changé — consultez les changements incompatibles ci-dessous.

Points forts

  • RTSP — une nouvelle bibliothèque de serveur vidéo RTSP avec un exemple.

  • OV5640 — Grayscale / RGB565 / Bayer / JPEG fonctionnent désormais à toutes les résolutions, avec un transfert JPEG maximal plus grand et une lecture haute résolution doublée.

  • FPS doublés — le pilote du capteur a été optimisé pour une cadence d’environ 2×.

  • Corrections — bord/vflip Bayer, JPEG logiciel (1-bpp et niveaux de gris YCbCr), et problèmes de débordement de tampon.

  • Incompatibilité : image.get_pixel() débayérise désormais les images Bayer et la rotation automatique se réapplique désormais lors de sensor.reset() — voir les changements incompatibles.

Nouvelles fonctionnalités

  • RTSP — ajout d’une bibliothèque rtsp et d’un exemple rtsp_video_server.py pour le streaming vidéo RTSP.

Autres changements et améliorations

  • Optimisation du pilote du capteur pour une cadence d’environ le double, doublement de la lecture haute résolution de l’OV5640 pour Bayer/Grayscale/JPEG, augmentation de la taille maximale de transfert d’image JPEG, et mise à jour de cascade_convert.py pour fonctionner avec Python 3.

Corrections de bugs

Caméra et imagerie :

  • Correction des modes d’imagerie de l’OV5640 afin que Grayscale / RGB565 / Bayer / JPEG fonctionnent correctement à toutes les résolutions, du vflip Bayer sur OV7725 / OV7690, de l’erreur de conversion Bayer du bord droit, de l’encodage JPEG logiciel des images 1-bpp et des niveaux de gris YCbCr (la soustraction de −128), des données résiduelles sur les images JPEG, et des problèmes de débordement de tampon.

Changements d’API incompatibles

Ruptures d’API visibles par l’utilisateur entre v3.6.3 et v3.6.4. Portée : modules C Python dans modules/ et bibliothèques Python dans scripts/libraries/.

Les deux changements incompatibles sont des changements de behavior (même API, résultats différents) — revérifiez les scripts concernés. Chaque hash de commit renvoie vers son diff sur GitHub.

image.get_pixel() débayérise les images Bayer (behavior)

image.get_pixel() sur une image au format Bayer débayérise désormais et renvoie un tuple (r, g, b) au lieu de la valeur Bayer brute à canal unique. Les scripts qui lisaient les valeurs Bayer brutes via get_pixel() recevront désormais des tuples RGB interpolés et doivent être mis à jour.

Commits : bf16b6a4f

La rotation automatique se réapplique lors de sensor.reset() (behavior)

La rotation automatique du capteur est désormais (re)déclenchée lors de sensor.reset(). Les scripts qui appelaient sensor.reset() après avoir configuré l’orientation, en s’attendant à ce que l’état de rotation persiste ou ne se réapplique pas, peuvent voir une orientation différente et doivent être revérifiés.

Commits : 0d13a214b

Liste de contrôle de migration

Mettez à jour le code qui lisait les valeurs Bayer brutes via image.get_pixel() pour qu’il s’attende à un tuple (r, g, b) (le changement de get_pixel), et revérifiez l’orientation du capteur autour de sensor.reset() (le changement de rotation automatique). Tous les autres scripts s’exécutent sans modification.