v1.6.0

v1.6.0 ajoute un module Time-of-Flight (tof), image.find_displacement() (flux optique par corrélation de phase FFT), une API de pooling d’image, sensor.set_windowing() et des options de recherche pour image.find_template(). find_template() impose désormais sa ROI — consultez les changements incompatibles ci-dessous.

Points forts

  • Module tof — prise en charge du capteur de distance Time-of-Flight.

  • image.find_displacement() — corrélation de phase FFT (flux optique).

  • Poolingmidpoint_pool() / mean_pool() et variantes poolées.

  • sensor.set_windowing() — fenêtrage / binning du capteur, avec de nouvelles tailles de trame basse résolution.

  • find_template() — ajout des options step / search (SEARCH_EX / SEARCH_DS) / roi.

  • Incompatible : image.find_template() impose désormais une ROI valide — voir les changements incompatibles.

Nouvelles fonctionnalités

  • tof — ajout d’un module Time-of-Flight avec tof.init() / tof.deinit() / tof.read_frame() / tof.draw_frame() / tof.write_reg() (prise en charge du capteur ToF I2C).

  • image.find_displacement() — ajout du déplacement par corrélation de phase FFT (avec subpixel et qualité de résultat), accompagné d’un exemple de flux optique.

  • Pooling — ajout de Image.midpoint_pool() / midpoint_pooled() / mean_pool() / mean_pooled().

  • sensor.set_windowing((x, y, w, h)) — fenêtrage/binning du capteur, avec de nouvelles tailles de trame sensor.B40x30 / B64x32 / B64x64 pour le flux optique.

  • image.find_template() — ajout des arguments nommés step, search (image.SEARCH_EX par défaut / image.SEARCH_DS recherche rapide en diamant) et roi.

  • Image.copy_to_fb() — copier une image dans le tampon d’image (avec un décalage (x, y) optionnel) et un exemple copy2fb.py.

Autres changements et améliorations

  • La recherche en diamant de find_template() affine son pas plus précisément (plus précis, plus lent) ; le binning s’active automatiquement pour les tailles de trame supérieures à VGA sur l’OpenMV 2 ; le zoom/mise à l’échelle automatique est désactivé en VGA sur l’OV7725.

Corrections de bogues

  • Correction des calculs d’image intégrale et d’image intégrale au carré (affectant la précision de Haar / des caractéristiques / de la correspondance de modèle), de la FFT 1D/2D et de la corrélation de phase, et du pooling sur place qui redimensionnait le tampon d’image.

Matériel et prise en charge des cartes

  • Capteur de distance Time-of-Flight (ToF) via I2C.

  • Nouvelles tailles de trame basse résolution (B40x30 / B64x32 / B64x64) pour le flux optique.

Changements d’API incompatibles

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

Le changement incompatible est un changement de comportement (même API, résultat différent) — revérifiez les scripts affectés. Chaque hachage de commit renvoie à son diff sur GitHub.

image.find_template() impose sa ROI (comportement)

image.find_template() valide désormais sa région d’intérêt et lève une exception (« Region of interest is bigger than image! ») lorsque la ROI est absente/surdimensionnée ou plus petite que le modèle. Passez un roi=(x, y, w, h) valide qui soit au moins de la taille du modèle et tienne dans l’image.

Commits : a25e0c162

Liste de contrôle pour la migration

Passez un roi valide (≥ taille du modèle, dans l’image) à image.find_template() (le changement de find_template). Tous les autres scripts fonctionnent sans modification.