v3.6.3

v3.6.3 activează TensorFlow pe OpenMV 3 / F7, adaugă suport pentru modele uint8/int8/float32, comută senzorii termici MLX90640/AMG8833 la I2C hardware, adaugă histograme de diferență de imagine și offset pentru corecția de obiectiv și remodelează controlul readout-ului. Constantele hint din image au fost redenumite, iar scalarea draw_image() s-a modificat — citiți modificările incompatibile de mai jos.

Puncte importante

  • TensorFlow pe OpenMV 3 / F7tf activat pe camerele bazate pe F7, cu suport pentru modele uint8/int8/float32.

  • Senzori termici — MLX90640 și AMG8833 comutate la I2C hardware cu un nou driver MLX90640.

  • Imagistică — suport pentru diferența de imagine în get_histogram() și corecție de offset pentru lens_corr().

  • draw_image — palete alpha în modul tonuri de gri și control de readout remodelat.

  • Incompatibil: constantele hint din image au fost redenumite, iar scalarea negativă a draw_image() a fost eliminată — consultați modificările incompatibile.

Funcționalități noi

  • TensorFlow — activat tf pe OpenMV 3 / F7 și actualizat TensorFlow pentru a suporta modele uint8 / int8 / float32.

  • get_histogram() — adăugată capacitatea de diferență de imagine.

  • lens_corr() — adăugată corecția de offset.

  • draw_image() — paletele alpha funcționează acum în modul tonuri de gri (non-biliniar), cu palete alpha interpolate biliniar și centrarea imaginii; cod nou de control al readout-ului.

Alte modificări și îmbunătățiri

  • MLX90640 și AMG8833 au fost comutate la I2C hardware (nou driver MLX90640, I2C HW configurabil din placa pentru senzori externi, mai multe reîncercări la readout-ul MLX), a fost activat modul I2C fast-mode-plus pe camerele care îl suportă, au fost adăugate citirea/scrierea de octeți prin cambus cu temporizări I2C și a fost omisă aplicarea alpha când este 0 pentru performanță.

Corecturi de erori

Cameră și imagistică:

  • Au fost corectate și accelerate corecția de rotație, eroarea Bayer-to-YCbCr de la marginea stângă și a fost adăugată o corecție de margine la bayer_to_y() / bayer_to_binary().

Instrumentar:

  • Au fost corectate erori Python 2/3 și ordinea de apelare a get_statistics().

Modificări incompatibile ale API-ului

Modificări incompatibile ale API-ului vizibile pentru utilizator între v3.6.2 și v3.6.3. Domeniu: module C Python din modules/ și biblioteci Python din scripts/libraries/.

Fiecare modificare este etichetată cu impactul său:

  • minor — API restrâns; afectează doar scripturile care l-au folosit.

  • behavior — același API, rezultate diferite; reverificați scripturile ajustate.

Modificările sunt grupate după impact în această ordine. Dacă doriți doar să vă portați codul, săriți la lista de verificare pentru migrare de la final. Fiecare hash de commit trimite la diff-ul său de pe GitHub.

Constantele hint din image redenumite (minor)

Constantele hint de desenare din image au fost redenumite: image.INTERPOLATE_BILINEARimage.IMAGE_HINT_BILINEAR și image.IMAGE_CENTERimage.IMAGE_HINT_CENTER. Scripturile care transmit numele vechi de constante către draw_image() trebuie să folosească noile nume. (Acestea sunt redenumite din nou în image.BILINEAR / image.CENTER în v3.7.0.)

Commit-uri: 8f8872537

Scalarea negativă a draw_image() eliminată (behavior)

image.draw_image() nu mai suportă scalarea negativă, iar punctul de eșantionare a texturii a fost mutat în centrul pixelului. Scripturile care se bazau pe scalarea negativă pentru a întoarce o imagine în timpul desenării trebuie să o întoarcă într-un alt mod, iar rezultatul se poate deplasa cu până la o jumătate de pixel față de înainte.

Commit-uri: 7e83dbb92

Lista de verificare pentru migrare

Redenumiți image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER în image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (redenumirea constantelor hint) și înlocuiți orice scalare negativă din draw_image() cu o întoarcere explicită (modificarea scalării draw_image). Toate celelalte scripturi rulează nemodificate.