v1.6.0

v1.6.0 adaugă un modul Time-of-Flight (tof), image.find_displacement() (flux optic prin corelație de fază FFT), un API de pooling de imagine, sensor.set_windowing() și opțiuni de căutare pentru image.find_template(). find_template() impune acum ROI-ul său — citiți modificările incompatibile de mai jos.

Aspecte importante

  • Modulul tof — suport pentru senzorul de distanță Time-of-Flight.

  • image.find_displacement() — corelație de fază FFT (flux optic).

  • Poolingmidpoint_pool() / mean_pool() și variante pooled.

  • sensor.set_windowing() — ferestruire / binning al senzorului, cu noi dimensiuni de cadru de rezoluție mică.

  • find_template() — s-au adăugat opțiunile step / search (SEARCH_EX / SEARCH_DS) / roi.

  • Incompatibil: image.find_template() impune acum un ROI valid — consultați modificările incompatibile.

Caracteristici noi

  • tof — s-a adăugat un modul Time-of-Flight cu tof.init() / tof.deinit() / tof.read_frame() / tof.draw_frame() / tof.write_reg() (suport pentru senzor ToF I2C).

  • image.find_displacement() — s-a adăugat deplasarea prin corelație de fază FFT (cu subpixel și calitate a rezultatului), cu un exemplu de flux optic.

  • Pooling — s-au adăugat Image.midpoint_pool() / midpoint_pooled() / mean_pool() / mean_pooled().

  • sensor.set_windowing((x, y, w, h)) — ferestruire/binning al senzorului, cu noile dimensiuni de cadru sensor.B40x30 / B64x32 / B64x64 pentru flux optic.

  • image.find_template() — s-au adăugat argumentele de tip cuvânt-cheie step, search (image.SEARCH_EX implicit / image.SEARCH_DS căutare rapidă în romb) și roi.

  • Image.copy_to_fb() — copiază o imagine în tamponul de cadre (cu un decalaj opțional (x, y)) și un exemplu copy2fb.py.

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

  • Căutarea în romb a find_template() își rafinează pasul mai precis (mai exactă, mai lentă); binning-ul se activează automat pentru dimensiuni de cadru peste VGA pe OpenMV 2; zoom-ul/scalarea automată este dezactivată la VGA pe OV7725.

Corectări de erori

  • S-au corectat calculele imaginii integrale și ale pătratului imaginii integrale (afectând precizia potrivirii Haar / de caracteristici / de șablon), FFT-ul 1D/2D și corelația de fază, precum și redimensionarea tamponului de cadre la pooling-ul pe loc.

Suport hardware și plăci

  • Senzor de distanță Time-of-Flight (ToF) prin I2C.

  • Noi dimensiuni de cadru de rezoluție mică (B40x30 / B64x32 / B64x64) pentru flux optic.

Modificări incompatibile ale API-ului

Modificări ale API-ului vizibile pentru utilizatori între v1.5.0 și v1.6.0. Domeniu: module C Python din modules/ și biblioteci Python din scripts/libraries/.

Modificarea incompatibilă este o modificare de comportament (același API, rezultat diferit) — reverificați scripturile afectate. Fiecare hash de commit trimite către diff-ul său pe GitHub.

image.find_template() impune ROI-ul său (comportament)

image.find_template() își validează acum regiunea de interes și ridică o excepție („Region of interest is bigger than image!”) atunci când ROI-ul lipsește/este supradimensionat sau este mai mic decât șablonul. Treceți un roi=(x, y, w, h) valid, care să fie cel puțin de dimensiunea șablonului și să se încadreze în imagine.

Commit-uri: a25e0c162

Listă de verificare pentru migrare

Treceți un roi valid (≥ dimensiunea șablonului, în interiorul imaginii) către image.find_template() (modificarea find_template). Toate celelalte scripturi rulează nemodificate.