v4.2.4

v4.2.4 simplifică handshake-ul cu camera printr-o singură comandă get_state(), accelerează afișarea live a framebuffer-ului prin mutarea calculului metricii de focalizare JPEG în afara căii de difuzare și adaugă afișarea cadrelor brute necomprimate sub calea pixformat-ului comprimat. Această versiune rămâne pe baza Qt Creator 10.0.1 și include firmware OpenMV 4.5.9. Exemplele April-Tags incluse au fost rescrise pentru noul API AprilTag al firmware-ului; scripturile utilizatorului scrise pentru API-ul vechi pot necesita actualizare.

Aspecte importante

  • Un singur handshake get_state() golește și interoghează tampoanele de printare și de cadre ale camerei cu o singură comandă pe firmware-ul care îl acceptă, înlocuind interogarea separată getTxBuffer/frameSizeDump.

  • Afișare live a framebuffer-ului mai rapidă mută costisitorul calcul al metricii de focalizare JPEG din calea de difuzare a framebuffer-ului în actualizarea histogramei.

  • Cadrele brute necomprimate (binar, grayscale8 și RGB565) pot fi acum recepționate și afișate sub calea pixformat-ului comprimat, pe lângă JPEG.

  • Firmware inclus 4.5.9 pentru toate plăcile acceptate, inclusiv binare UVC reîmprospătate.

Funcționalități noi

  • Vizualizatorul de framebuffer poate acum recepționa și afișa cadre brute necomprimate (binar, grayscale8 și RGB565) trimise sub calea pixformat-ului comprimat, pe lângă JPEG. Pasul (stride) de rând binar este aliniat la 4 octeți. (cba5f5dda)

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

  • IDE-ul golește și interoghează acum tampoanele de printare și de cadre ale camerei folosind o singură comandă nouă get_state() pe firmware-ul care o acceptă, în loc de interogarea separată getTxBuffer/frameSizeDump, făcând handshake-urile de conectare/deconectare/pornire mai eficiente. O ramură condiționată de versiune apelează getState() și emite un nou semnal getStateDone() la finalizarea frame-size și tx-buffer. (ce137a7b6, 0cf969bfd)

  • Afișarea live a framebuffer-ului este mai rapidă deoarece calculul metricii de focalizare JPEG a fost mutat din broadcastUpdate() în actualizarea histogramei, unde rulează acum pe un pixmap redimensionat la 160px lățime. Replotările QCustomPlot folosesc acum replotarea pusă în coadă. (9dbcd8875)

  • Toate exemplele AprilTag incluse (find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, exemplele de emulare pixy I2C/SPI/UART, modbus_apriltag, apriltag_tracking și exemplul RPC popular_features_as_the_remote_device) au fost actualizate la noul API AprilTag al firmware-ului folosind accesoare de proprietăți și simplificate. Exemplul TensorFlow inclus tf_object_detection.py setează acum o decupare de fereastră 240x240 prin sensor.set_windowing((240, 240)), iar exemplul de temperatură Bluetooth BLE (examples/10-Bluetooth/ble_temperature.py) a fost eliminat. (42a646b63)

Suport pentru platformă și instrumente

  • Bază Qt Creator: 10.0.1.

  • Firmware OpenMV inclus: actualizat 4.5.8 -> 4.5.9 pentru toate plăcile acceptate, inclusiv OPENMV2/3/4/4P/PT, OPENMV_RT1060 și ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE, cu binare UVC reîmprospătate. (42a646b63)

  • Versiunea OpenMV IDE: crescută 4.2.1 -> 4.2.4.

Modificări care afectează compatibilitatea

Exemplele April-Tags incluse au fost rescrise pentru noul API AprilTag al firmware-ului: accesoarele de tag sunt acum proprietăți (tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name) în loc de apeluri de metode. Exemplul inclus find_apriltags.py demonstrează acum doar familia TAG36H11; codul său de selecție multi-familie (TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) și ajutorul family_name() au fost eliminate. Scripturile utilizatorului scrise pentru vechiul API AprilTag bazat pe apeluri de metode pot necesita actualizare pentru a se potrivi cu firmware 4.5.9.