v4.1.2¶
v4.1.2 dodaje zaawansowane formaty pikseli z pełnym debayeringiem, przetwarzanie obrazów YUV, nowy moduł imu (LSM6DSOX), dźwięk z cyfrowego mikrofonu DFSDM oraz obsługę sensora zdarzeń FrogEye2020. Zmieniono zachowanie erode()/dilate() oraz desktopową bibliotekę RPC — zapoznaj się z przełomowymi zmianami poniżej.
Najważniejsze zmiany¶
Zaawansowane formaty pikseli z obsługą pełnego debayeringu.
Przetwarzanie obrazów YUV.
Nowy moduł
imu— obsługa LSM6DSOX (konfigurowalna orientacja, MLC).Audio DFSDM — wejście z cyfrowego mikrofonu.
Obsługa sensora zdarzeń FrogEye2020.
Przełomowe:
erode()/dilate()działają teraz na niebiałych pikselach, a desktopowa klasa RPC została przemianowana — zobacz przełomowe zmiany.
Nowe funkcje¶
Zaawansowane formaty pikseli — nowa obsługa formatów pikseli z obsługą pełnego debayeringu (Bayer → RGB/skala szarości w różnych formatach).
Przetwarzanie obrazów YUV — dodano obsługę przetwarzania obrazów YUV.
Moduł
imu— nowy moduł IMU ze sterownikiem LSM6DSOX, konfigurowalną orientacją IMU oraz obsługą machine-learning-core (MLC).Audio — dodano obsługę cyfrowego mikrofonu DFSDM do modułu
audio.FrogEye2020 — nowy sterownik sensora zdarzeń FrogEye2020 wraz z przykładowymi skryptami dla kamery zdarzeń.
Pozostałe zmiany i ulepszenia¶
Programowe kodowanie JPEG jest ~10 % szybsze (ulepszona obsługa bitów).
machine.I2Cużywa teraz sprzętowego urządzenia peryferyjnego I2C na STM32 H7.find_apriltags(),find_line_segments()oraz ścieżka wejściowa TensorFlow zostały przeniesione na ujednolicony backenddraw_image.
Poprawki błędów¶
Naprawiono sytuacje przepełnienia programowego kodowania JPEG,
imagecompressoraz wykrywanie formatuIS_JPEG.
Sprzęt i obsługa płytek¶
Sensor zdarzeń FrogEye2020.
Arduino Nicla Vision (BORMIO) — zaktualizowany układ pinów oraz USB VID/PID.
Arduino Portenta H7 — domyślny zegar sensora ustawiony na 12 MHz.
Przełomowe zmiany API¶
Widoczne dla użytkownika zmiany przełomowe API pomiędzy v4.1.1 a v4.1.2. Zakres: moduły C Pythona w modules/ oraz biblioteki Pythona w scripts/libraries/.
Każda zmiana jest oznaczona swoim wpływem:
minor — wąskie API; tylko narzędzia po stronie hosta.
behavior — to samo API, inne wyniki; ponownie sprawdź dostrojone skrypty.
Zmiany są pogrupowane według wpływu w tej kolejności. Każdy hash commita prowadzi do jego diffa na GitHubie.
Przemianowano klasę desktopowej biblioteki RPC (minor)¶
W desktopowej bibliotece RPC po stronie hosta (tools/rpc/rpc.py) klasa rpc_wifi_or_ethernet_master została przemianowana na rpc_network_master, a skrypty hosta RTSP/RPC przełączono na korzystanie ze standardowych bibliotek sieciowych. Dotyczy to wyłącznie programów na komputerze hosta; skrypty na kamerze pozostają bez zmian.
erode() / dilate() działają na niebiałych pikselach (behavior)¶
Image.erode() oraz Image.dilate() zostały poprawione tak, aby działały na niebiałych pikselach zamiast wyłącznie na białych. Wyniki różnią się od poprzednich wydań dla obrazów niebinarnych / nie tylko białych — ponownie sprawdź dostrojone potoki morfologii.
Commit: 899f80759
Lista kontrolna migracji¶
Aby czysto przenieść kod do v4.1.2: w programach RPC na komputerze hosta zmień nazwę rpc_wifi_or_ethernet_master na rpc_network_master (zmiana nazwy RPC) oraz ponownie sprawdź wszelkie wyniki erode() / dilate() na obrazach niebinarnych (zmiana morfologii). Poza tym skrypty na kamerze działają bez zmian.