v4.1.2#

v4.1.2 aggiunge formati di pixel avanzati con debayering completo, l’elaborazione di immagini YUV, un nuovo modulo imu (LSM6DSOX), l’audio da microfono digitale DFSDM e il supporto al sensore di eventi FrogEye2020. Il comportamento di erode()/dilate() e la libreria RPC desktop sono cambiati — leggi le modifiche incompatibili qui sotto.

In evidenza#

  • Formati di pixel avanzati con supporto al debayering completo.

  • Elaborazione di immagini YUV.

  • Nuovo modulo imu — supporto LSM6DSOX (orientamento configurabile, MLC).

  • Audio DFSDM — ingresso da microfono digitale.

  • Supporto al sensore di eventi FrogEye2020.

  • Incompatibilità: erode()/dilate() ora operano sui pixel non bianchi e una classe RPC desktop è stata rinominata — vedi le modifiche incompatibili.

Nuove funzionalità#

  • Formati di pixel avanzati — nuova gestione dei formati di pixel con supporto al debayering completo (Bayer → RGB/scala di grigi tra i vari formati).

  • Elaborazione di immagini YUV — aggiunto il supporto all’elaborazione di immagini YUV.

  • Modulo imu — un nuovo modulo IMU con il driver LSM6DSOX, orientamento IMU configurabile e supporto al machine-learning-core (MLC).

  • Audio — aggiunto il supporto al microfono digitale DFSDM al modulo audio.

  • FrogEye2020 — nuovo driver per il sensore di eventi FrogEye2020, con script di esempio per la camera a eventi.

Altre modifiche e miglioramenti#

  • La codifica JPEG software è ~10 % più veloce (gestione dei bit migliorata).

  • machine.I2C ora usa la periferica hardware I2C su STM32 H7.

  • find_apriltags(), find_line_segments() e il percorso di input di TensorFlow sono stati spostati sul backend unificato draw_image.

Correzioni di bug#

  • Corrette le situazioni di overflow della codifica JPEG software, image compress e il rilevamento del formato IS_JPEG.

Hardware e supporto schede#

  • Sensore di eventi FrogEye2020.

  • Arduino Nicla Vision (BORMIO) — piedinatura e VID/PID USB aggiornati.

  • Arduino Portenta H7 — clock predefinito del sensore impostato a 12 MHz.

Modifiche incompatibili dell’API#

Modifiche incompatibili dell’API visibili all’utente tra v4.1.1 e v4.1.2. Ambito: C-module Python in modules/ e librerie Python in scripts/libraries/.

Ogni modifica è contrassegnata con il suo impatto:

  • minore — API ristretta; solo strumenti lato host.

  • comportamento — stessa API, risultati diversi; ricontrolla gli script messi a punto.

Le modifiche sono raggruppate per impatto in quest’ordine. Ogni hash di commit rimanda al suo diff su GitHub.

Classe della libreria RPC desktop rinominata (minore)#

Nella libreria RPC desktop lato host (tools/rpc/rpc.py), la classe rpc_wifi_or_ethernet_master è stata rinominata in rpc_network_master e gli script host RTSP/RPC sono stati commutati all’uso delle librerie di rete standard. Questo interessa solo i programmi su PC host; gli script sulla camera non sono interessati.

Commit: a2f016ba0, a4858015c

erode() / dilate() operano sui pixel non bianchi (comportamento)#

Image.erode() e Image.dilate() sono stati corretti per operare sui pixel non bianchi invece che solo sui pixel bianchi. I risultati differiscono dalle versioni precedenti per le immagini non binarie / non esclusivamente bianche — ricontrolla le pipeline di morfologia messe a punto.

Commit: 899f80759

Checklist di migrazione#

Per un porting pulito a v4.1.2: nei programmi RPC su PC host, rinomina rpc_wifi_or_ethernet_master in rpc_network_master (la rinominazione RPC) e ricontrolla eventuali risultati di erode() / dilate() su immagini non binarie (la modifica della morfologia). Per il resto, gli script sulla camera funzionano senza modifiche.