v3.6.0¶
v3.6.0 wprowadza pełną obsługę kamery OV5640 5 MP z nowymi rozdzielczościami wysokiej jakości (HD / FHD / QHD / QXGA / WQXGA), aktualizuje rdzeń do MicroPython 1.12, mocno optymalizuje programowy enkoder JPEG oraz wykrywanie AprilTag / linii, dodaje UVC (USB video) na OpenMV Cam H7 Plus oraz obsługuje pamięć flash QSPI do 32 MB. Zmieniono zachowanie MicroPython i get_histogram() — przeczytaj poniższe zmiany łamiące.
Najważniejsze zmiany¶
OV5640 5 MP — pełny sterownik kamery z nowymi rozdzielczościami HD / FHD / QHD / QXGA / WQXGA / WQXGA2.
MicroPython 1.12 — zaktualizowano dołączony rdzeń.
Szybszy potok — mocno zoptymalizowane programowe kodowanie JPEG, wykrywanie AprilTag, wykrywanie linii LSD,
histeq()oraz dekodowanie kodów QR.UVC na H7 Plus — OpenMV Cam H7 Plus może działać jako urządzenie wideo USB.
Zmiana łamiąca: zmieniono zachowanie MicroPython, normalizację
image.get_histogram()oraz wyjście JPEG/skali szarości na OpenMV 3 — zobacz zmiany łamiące.
Nowe funkcje¶
OV5640 — dodano pełną obsługę kamery OV5640 5 MP (konfiguracja zegara zewnętrznego w inicjalizacji sensora) oraz nowe stałe rozdzielczości
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — zwolniony, aby był dostępny z poziomu MicroPython.
Dodano przykład czasowego zapisu DAC (
dac_write_timed.py) oraz zmieniono nazwędac_control.pynadac_write.py.
Pozostałe zmiany i usprawnienia¶
Zaktualizowano dołączony MicroPython do 1.12; mocno zoptymalizowano programowy enkoder JPEG (ścieżka VGA, ścieżki skali szarości/binarne, arytmetyka całkowitoliczbowa zamiast zmiennoprzecinkowej, zoptymalizowane przechwytywanie MCU), LSD
find_line_segments(), wykrywanie AprilTag,Image.histeq()oraz konwersję kodów QR / RGB-do-szarości; dodano obsługę pamięci flash QSPI dla układów do 32 MB; usunięto przestarzały przykład CMSIS-CNNcnn.py.
Poprawki błędów¶
Kamera i obrazowanie:
Naprawiono uszkodzenie kodowania JPEG przy HQQQVGA, kompresję binarnego (1-bitowego) obrazu → JPEG, regresję
find_line_segments()(ponownie włączono sprawdzanie niewyrównaneNOTDEF) oraz drobne problemy ze sterownikiem OV2640.
System i rozruch:
Naprawiono uszkodzenie autotestu / systemu plików (
selftest.pyjest teraz uruchamiany przed włączeniem USB MSC, a USB MSC jest włączane przy błędzie krytycznym, aby host mógł odczytać dziennik błędów),write_timed()wpyb.DAC, czasymachine.I2CH7, ponowne włączanie overdrive F7 po trybie stop oraz interwałrtc.wakeup()wstop_mode.py.
Sprzęt i obsługa płytek¶
OV5640 — pełny sterownik kamery 5 MP z rozdzielczościami wysokiej jakości.
OpenMV Cam H7 Plus — obsługa UVC (USB video); cel kompilacji płytki
OPENMV4Rzmieniono naOPENMV4P.Pamięć flash QSPI — obsługiwane są teraz układy do 32 MB.
Zmiany łamiące API¶
Widoczne dla użytkownika zmiany łamiące API pomiędzy v3.5.2 a v3.6.0. Zakres: moduły C języka Python w modules/ oraz biblioteki Python w scripts/libraries/.
Wszystkie trzy zmiany łamiące to zmiany zachowania (to samo API, inne wyniki) — sprawdź ponownie odpowiednie skrypty. Każdy hash commitu prowadzi do jego diffa na GitHub.
Zaktualizowano MicroPython do 1.12 (zachowanie)¶
Dołączony rdzeń MicroPython został zaktualizowany do 1.12. Zachowanie biblioteki standardowej i języka jest zgodne z oryginalnym MicroPython 1.12; sprawdź ponownie skrypty, które zależą od specyficznego dla wersji zachowania micropython / modułów standardowych.
Commity: eafd431ea
Zmieniono normalizację progów image.get_histogram() (zachowanie)¶
image.get_histogram() (oraz get_statistics()) z progami koloru normalizuje teraz względem liczby pikseli spełniających próg, a nie całego ROI, oraz używa zaokrąglenia w dół zamiast zwykłego zaokrąglenia przy indeksowaniu przedziałów. Wartości histogramu/statystyk dla wywołań z progami różnią się od poprzednich wydań — przestrój kod, który porównywał je z bezwzględnymi wartościami histogramu.
Commity: 7cf0f8089
Zmieniono wyjście JPEG/skali szarości na OpenMV 3 (zachowanie)¶
Aby zaoszczędzić pamięć flash, tabela odnośników YUV na OpenMV 3 (M7) została wyłączona, więc wartości pikseli wyjściowych JPEG i skali szarości są na OpenMV 3 obliczane nieco inaczej. Wyjście jest nadal poprawne, ale różni się minimalnie od poprzednich wydań; sprawdź ponownie porównania na poziomie dokładności pikseli na OpenMV 3.
Commity: 0e4b46e41
Lista kontrolna migracji¶
Ponownie zweryfikuj skrypty, które zależą od specyficznego dla wersji zachowania MicroPython, względem 1.12 (aktualizacja MicroPython), przestrój kod, który porównywał je z bezwzględnymi wartościami get_histogram() / get_statistics() przy używaniu progów koloru (zmiana histogramu) oraz sprawdź ponownie porównania na poziomie dokładności pikseli na OpenMV 3 (zmiana wyjścia OpenMV 3). Wszystkie pozostałe skrypty działają bez zmian.