v4.2.4

v4.2.4 usprawnia uzgadnianie połączenia z kamerą za pomocą pojedynczego polecenia get_state(), przyspiesza wyświetlanie bufora ramki na żywo poprzez przeniesienie obliczania metryki ostrości JPEG poza ścieżkę rozgłaszania oraz dodaje wyświetlanie surowych, nieskompresowanych ramek w ramach ścieżki skompresowanego pixformat. To wydanie pozostaje na bazie Qt Creator 10.0.1 i dołącza oprogramowanie układowe OpenMV 4.5.9. Dołączone przykłady April-Tags zostały przepisane pod nowe API AprilTag oprogramowania układowego; skrypty użytkownika napisane pod stare API mogą wymagać aktualizacji.

Najważniejsze zmiany

  • Pojedyncze uzgadnianie get_state() opróżnia i odpytuje bufory wydruku oraz ramek kamery jednym poleceniem na oprogramowaniu układowym, które to obsługuje, zastępując oddzielne odpytywanie getTxBuffer/frameSizeDump.

  • Szybsze wyświetlanie bufora ramki na żywo przenosi kosztowne obliczanie metryki ostrości JPEG poza ścieżkę rozgłaszania bufora ramki, do aktualizacji histogramu.

  • Surowe, nieskompresowane ramki (binary, grayscale8 oraz RGB565) mogą być teraz odbierane i wyświetlane w ramach ścieżki skompresowanego pixformat, oprócz JPEG.

  • Dołączone oprogramowanie układowe 4.5.9 dla wszystkich obsługiwanych płytek, w tym odświeżone pliki binarne UVC.

Nowe funkcje

  • Podgląd bufora ramki może teraz odbierać i wyświetlać surowe, nieskompresowane ramki (binary, grayscale8 oraz RGB565) wysyłane w ramach ścieżki skompresowanego pixformat, oprócz JPEG. Krok wiersza binary jest wyrównany do 4 bajtów. (cba5f5dda)

Pozostałe zmiany i ulepszenia

  • IDE opróżnia i odpytuje teraz bufory wydruku oraz ramek kamery za pomocą pojedynczego, nowego polecenia get_state() na oprogramowaniu układowym, które to obsługuje, zamiast oddzielnego odpytywania getTxBuffer/frameSizeDump, co czyni uzgadnianie połączenia/rozłączenia/uruchomienia bardziej wydajnym. Gałąź zależna od wersji wywołuje getState() i emituje nowy sygnał getStateDone() po zakończeniu pobierania rozmiaru ramki i bufora tx. (ce137a7b6, 0cf969bfd)

  • Wyświetlanie bufora ramki na żywo jest szybsze, ponieważ obliczanie metryki ostrości JPEG zostało przeniesione z broadcastUpdate() do aktualizacji histogramu, gdzie działa teraz na mapie pikseli pomniejszonej do szerokości 160 pikseli. Ponowne rysowanie QCustomPlot korzysta teraz z kolejkowanego ponownego rysowania. (9dbcd8875)

  • Wszystkie dołączone przykłady AprilTag (find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, przykłady emulacji pixy I2C/SPI/UART, modbus_apriltag, apriltag_tracking oraz przykład RPC popular_features_as_the_remote_device) zostały zaktualizowane pod nowe API AprilTag oprogramowania układowego z użyciem akcesorów właściwości i uproszczone. Dołączony przykład TensorFlow tf_object_detection.py ustawia teraz przycięcie okna 240x240 za pomocą sensor.set_windowing((240, 240)), a przykład temperatury Bluetooth BLE (examples/10-Bluetooth/ble_temperature.py) został usunięty. (42a646b63)

Obsługa platform i narzędzi

  • Baza Qt Creator: 10.0.1.

  • Dołączone oprogramowanie układowe OpenMV: zaktualizowane z 4.5.8 -> 4.5.9 dla wszystkich obsługiwanych płytek, w tym OPENMV2/3/4/4P/PT, OPENMV_RT1060 oraz ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE, z odświeżonymi plikami binarnymi UVC. (42a646b63)

  • Wersja OpenMV IDE: podniesiona z 4.2.1 -> 4.2.4.

Zmiany łamiące zgodność

Dołączone przykłady April-Tags zostały przepisane pod nowe API AprilTag oprogramowania układowego: akcesory tagów są teraz właściwościami (tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name) zamiast wywołań metod. Dołączony przykład find_apriltags.py demonstruje teraz wyłącznie rodzinę TAG36H11; jego kod wyboru wielu rodzin (TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) oraz funkcja pomocnicza family_name() zostały usunięte. Skrypty użytkownika napisane pod stare API AprilTag oparte na wywołaniach metod mogą wymagać aktualizacji, aby były zgodne z oprogramowaniem układowym 4.5.9.