v4.2.4

v4.2.4 strafft den Kamera-Handshake mit einem einzigen get_state()-Befehl, beschleunigt die Live-Framebuffer-Anzeige, indem die Berechnung der JPEG-Fokusmetrik vom Broadcast-Pfad entfernt wird, und ergänzt die Anzeige roher, unkomprimierter Einzelbilder unter dem komprimierten pixformat-Pfad. Dieses Release bleibt auf der Basis Qt Creator 10.0.1 und liefert OpenMV-Firmware 4.5.9 mit. Die mitgelieferten April-Tags-Beispiele wurden für die neue Firmware-AprilTag-API neu geschrieben; gegen die alte API geschriebene Benutzerskripte müssen möglicherweise angepasst werden.

Highlights

  • Der einzelne get_state()-Handshake leert und fragt die Druck- und Frame-Puffer der Kamera mit einem einzigen Befehl auf Firmware ab, die dies unterstützt, und ersetzt die separate getTxBuffer/frameSizeDump-Abfrage.

  • Die schnellere Live-Framebuffer-Anzeige verschiebt die aufwändige Berechnung der JPEG-Fokusmetrik aus dem Framebuffer-Broadcast-Pfad in die Histogramm-Aktualisierung.

  • Rohe, unkomprimierte Einzelbilder (binary, grayscale8 und RGB565) können nun zusätzlich zu JPEG unter dem komprimierten pixformat-Pfad empfangen und angezeigt werden.

  • Mitgelieferte Firmware 4.5.9 für alle unterstützten Boards, einschließlich aktualisierter UVC-Binärdateien.

Neue Funktionen

  • Der Framebuffer-Viewer kann nun rohe, unkomprimierte Einzelbilder (binary, grayscale8 und RGB565) empfangen und anzeigen, die zusätzlich zu JPEG unter dem komprimierten pixformat-Pfad gesendet werden. Der Binär-Zeilen-Stride ist auf 4 Byte ausgerichtet. (cba5f5dda)

Weitere Änderungen und Verbesserungen

  • Die IDE leert und fragt die Druck- und Frame-Puffer der Kamera nun mit einem einzigen neuen get_state()-Befehl auf Firmware ab, die dies unterstützt, anstatt mit separater getTxBuffer/frameSizeDump-Abfrage, wodurch die Handshakes für Verbinden/Trennen/Starten effizienter werden. Ein versionsabhängiger Zweig ruft getState() auf und sendet bei Abschluss von Frame-Size und tx-Buffer ein neues Signal getStateDone(). (ce137a7b6, 0cf969bfd)

  • Die Live-Framebuffer-Anzeige ist schneller, da die Berechnung der JPEG-Fokusmetrik aus broadcastUpdate() in die Histogramm-Aktualisierung verschoben wurde, wo sie nun auf einer auf 160px Breite herunterskalierten Pixmap läuft. QCustomPlot-Neuzeichnungen verwenden nun warteschlangenbasiertes Neuzeichnen. (9dbcd8875)

  • Alle mitgelieferten AprilTag-Beispiele (find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, die pixy-I2C/SPI/UART-Emulationsbeispiele, modbus_apriltag, apriltag_tracking und das RPC-Beispiel popular_features_as_the_remote_device) wurden mithilfe von Property-Accessoren auf die neue Firmware-AprilTag-API aktualisiert und vereinfacht. Das mitgelieferte TensorFlow-Beispiel tf_object_detection.py legt nun über sensor.set_windowing((240, 240)) einen 240x240-Windowing-Zuschnitt fest, und das Bluetooth-BLE-Temperaturbeispiel (examples/10-Bluetooth/ble_temperature.py) wurde entfernt. (42a646b63)

Plattform- und Werkzeugunterstützung

  • Qt Creator-Basis: 10.0.1.

  • Mitgelieferte OpenMV-Firmware: für alle unterstützten Boards von 4.5.8 -> 4.5.9 aktualisiert, einschließlich OPENMV2/3/4/4P/PT, OPENMV_RT1060 und ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE, mit aktualisierten UVC-Binärdateien. (42a646b63)

  • OpenMV IDE-Version: von 4.2.1 -> 4.2.4 erhöht.

Breaking Changes

Die mitgelieferten April-Tags-Beispiele wurden für die neue Firmware-AprilTag-API neu geschrieben: Tag-Accessoren sind nun Properties (tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name) anstelle von Methodenaufrufen. Das mitgelieferte Beispiel find_apriltags.py demonstriert nun nur noch die Familie TAG36H11; sein Code zur Auswahl mehrerer Familien (TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) und die Hilfsfunktion family_name() wurden entfernt. Gegen die alte methodenaufrufbasierte AprilTag-API geschriebene Benutzerskripte müssen möglicherweise an Firmware 4.5.9 angepasst werden.