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.