v4.1.2

v4.1.2 lägger till avancerade pixelformat med fullständig debayering, YUV-bildbehandling, en ny imu-modul (LSM6DSOX), DFSDM digital-mikrofonsljud och stöd för FrogEye2020-händelsesensorn. Beteendet för erode()/dilate() och skrivbordets RPC-bibliotek ändrades — läs de brytande ändringarna nedan.

Höjdpunkter

  • Avancerade pixelformat med stöd för fullständig debayering.

  • YUV-bildbehandling.

  • Ny imu-modul — stöd för LSM6DSOX (konfigurerbar orientering, MLC).

  • DFSDM-ljud — ingång för digital mikrofon.

  • Stöd för FrogEye2020-händelsesensorn.

  • Brytande: erode()/dilate() opererar nu på icke-vita pixlar och en RPC-klass för skrivbordet döptes om — se de brytande ändringarna.

Nya funktioner

  • Avancerade pixelformat — ny hantering av pixelformat med stöd för fullständig debayering (Bayer → RGB/gråskala över format).

  • YUV-bildbehandling — lade till stöd för YUV-bildbehandling.

  • imu-modul — en ny IMU-modul med LSM6DSOX-drivrutinen, konfigurerbar IMU-orientering och stöd för machine-learning-core (MLC).

  • Ljud — lade till stöd för DFSDM digital mikrofon i audio-modulen.

  • FrogEye2020 — ny FrogEye2020-drivrutin för händelsesensor, med exempelskript för händelsekameror.

Övriga ändringar och förbättringar

  • Programvarubaserad JPEG-kodning är ~10 % snabbare (förbättrad bithantering).

  • machine.I2C använder nu hårdvarans I2C-kringutrustning på STM32 H7.

  • find_apriltags(), find_line_segments() och TensorFlow-indatavägen flyttades till den enhetliga draw_image-backenden.

Buggfixar

  • Åtgärdade överflödessituationer vid programvarubaserad JPEG-kodning, image compress och IS_JPEG-formatdetekteringen.

Hårdvaru- och kortstöd

  • FrogEye2020-händelsesensor.

  • Arduino Nicla Vision (BORMIO) — uppdaterad stiftkonfiguration och USB VID/PID.

  • Arduino Portenta H7 — standardsensorklocka satt till 12 MHz.

Brytande API-ändringar

Användarsynliga API-brytningar mellan v4.1.1 och v4.1.2. Omfattning: Python C-moduler i modules/ och Python-bibliotek i scripts/libraries/.

Varje ändring är märkt med sin påverkan:

  • minor — smalt API; endast verktyg på värdsidan.

  • behavior — samma API, andra resultat; kontrollera finjusterade skript igen.

Ändringarna är grupperade efter påverkan i den ordningen. Varje commit-hash länkar till sin diff på GitHub.

RPC-biblioteksklass för skrivbordet omdöpt (minor)

I RPC-biblioteket för skrivbordet på värdsidan (tools/rpc/rpc.py) döptes klassen rpc_wifi_or_ethernet_master om till rpc_network_master, och RTSP-/RPC-värdskripten ställdes om till att använda standardnätverksbiblioteken. Detta påverkar endast program på värd-PC:n; skript på kameran påverkas inte.

Commits: a2f016ba0, a4858015c

erode() / dilate() opererar på icke-vita pixlar (behavior)

Image.erode() och Image.dilate() åtgärdades så att de opererar på icke-vita pixlar istället för endast vita pixlar. Resultaten skiljer sig från tidigare versioner för icke-binära / icke-enbart-vita bilder — kontrollera finjusterade morfologipipelines igen.

Commit: 899f80759

Migreringschecklista

För en ren portering till v4.1.2: i RPC-program på värd-PC:n, döp om rpc_wifi_or_ethernet_master till rpc_network_master (RPC-omdöpningen), och kontrollera eventuella erode() / dilate()-resultat på icke-binära bilder igen (morfologiändringen). Skript på kameran körs i övrigt oförändrade.