v4.2.4

v4.2.4 semplifica l’handshake con la camera con un unico comando get_state(), velocizza la visualizzazione in tempo reale del framebuffer spostando il calcolo della metrica di messa a fuoco JPEG fuori dal percorso di broadcast e aggiunge la visualizzazione dei frame non compressi grezzi sotto il percorso del pixformat compresso. Questa release rimane sulla base Qt Creator 10.0.1 e include il firmware OpenMV 4.5.9. Gli esempi April-Tags inclusi sono stati riscritti per la nuova API AprilTag del firmware; gli script utente scritti per la vecchia API potrebbero richiedere aggiornamenti.

In evidenza

  • Un unico handshake get_state() svuota e interroga i buffer di stampa e di frame della camera con un solo comando sul firmware che lo supporta, sostituendo il polling separato getTxBuffer/frameSizeDump.

  • La visualizzazione più veloce del framebuffer in tempo reale sposta l’oneroso calcolo della metrica di messa a fuoco JPEG fuori dal percorso di broadcast del framebuffer, integrandolo nell’aggiornamento dell’istogramma.

  • I frame non compressi grezzi (binary, grayscale8 e RGB565) possono ora essere ricevuti e visualizzati sotto il percorso del pixformat compresso, oltre al JPEG.

  • Firmware incluso 4.5.9 per tutte le schede supportate, inclusi i binari UVC aggiornati.

Nuove funzionalità

  • Il visualizzatore del framebuffer può ora ricevere e visualizzare frame non compressi grezzi (binary, grayscale8 e RGB565) inviati sotto il percorso del pixformat compresso, oltre al JPEG. Lo stride delle righe binarie è allineato a 4 byte. (cba5f5dda)

Altre modifiche e miglioramenti

  • L’IDE ora svuota e interroga i buffer di stampa e di frame della camera utilizzando un unico nuovo comando get_state() sul firmware che lo supporta, invece del polling separato getTxBuffer/frameSizeDump, rendendo più efficienti gli handshake di connessione/disconnessione/avvio. Un ramo condizionato dalla versione chiama getState() ed emette un nuovo segnale getStateDone() al completamento di frame-size e tx-buffer. (ce137a7b6, 0cf969bfd)

  • La visualizzazione del framebuffer in tempo reale è più veloce perché il calcolo della metrica di messa a fuoco JPEG è stato spostato da broadcastUpdate() all’aggiornamento dell’istogramma, dove ora viene eseguito su una pixmap ridimensionata a 160px di larghezza. I ridisegni di QCustomPlot utilizzano ora il ridisegno in coda. (9dbcd8875)

  • Tutti gli esempi AprilTag inclusi (find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, gli esempi di emulazione pixy I2C/SPI/UART, modbus_apriltag, apriltag_tracking e l’esempio RPC popular_features_as_the_remote_device) sono stati aggiornati alla nuova API AprilTag del firmware utilizzando accessor di proprietà e semplificati. L’esempio TensorFlow tf_object_detection.py incluso imposta ora un ritaglio di windowing 240x240 tramite sensor.set_windowing((240, 240)) e l’esempio Bluetooth BLE per la temperatura (examples/10-Bluetooth/ble_temperature.py) è stato rimosso. (42a646b63)

Supporto di piattaforme e strumenti

  • Base Qt Creator: 10.0.1.

  • Firmware OpenMV incluso: aggiornato dalla 4.5.8 alla 4.5.9 per tutte le schede supportate, inclusi OPENMV2/3/4/4P/PT, OPENMV_RT1060 e ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE, con binari UVC aggiornati. (42a646b63)

  • Versione OpenMV IDE: portata dalla 4.2.1 alla 4.2.4.

Modifiche che compromettono la compatibilità

Gli esempi April-Tags inclusi sono stati riscritti per la nuova API AprilTag del firmware: gli accessor dei tag sono ora proprietà (tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name) anziché chiamate di metodo. L’esempio find_apriltags.py incluso ora dimostra solo la famiglia TAG36H11; il suo codice di selezione multi-famiglia (TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) e l’helper family_name() sono stati rimossi. Gli script utente scritti per la vecchia API AprilTag basata su chiamate di metodo potrebbero richiedere aggiornamenti per essere compatibili con il firmware 4.5.9.