v1.6.0

v1.6.0 dodaje moduł Time-of-Flight (tof), image.find_displacement() (przepływ optyczny metodą korelacji fazowej FFT), API poolingu obrazu, sensor.set_windowing() oraz opcje wyszukiwania w image.find_template(). find_template() wymusza teraz swój ROI — przeczytaj poniższe zmiany powodujące niezgodność.

Najważniejsze zmiany

  • Moduł tof — obsługa sensora odległości Time-of-Flight.

  • image.find_displacement() — korelacja fazowa FFT (przepływ optyczny).

  • Poolingmidpoint_pool() / mean_pool() oraz warianty z poolingiem.

  • sensor.set_windowing() — okienkowanie / binning sensora, z nowymi niskorozdzielczymi rozmiarami ramki.

  • find_template() — dodano opcje step / search (SEARCH_EX / SEARCH_DS) / roi.

  • Niezgodność: image.find_template() wymusza teraz prawidłowy ROI — zobacz zmiany powodujące niezgodność.

Nowe funkcje

  • tof — dodano moduł Time-of-Flight z tof.init() / tof.deinit() / tof.read_frame() / tof.draw_frame() / tof.write_reg() (obsługa sensora ToF na I2C).

  • image.find_displacement() — dodano przemieszczenie metodą korelacji fazowej FFT (z subpikselową dokładnością i jakością wyniku), z przykładem przepływu optycznego.

  • Pooling — dodano Image.midpoint_pool() / midpoint_pooled() / mean_pool() / mean_pooled().

  • sensor.set_windowing((x, y, w, h)) — okienkowanie/binning sensora, z nowymi rozmiarami ramki sensor.B40x30 / B64x32 / B64x64 dla przepływu optycznego.

  • image.find_template() — dodano argumenty nazwane step, search (image.SEARCH_EX domyślnie / image.SEARCH_DS szybkie wyszukiwanie diamentowe) oraz roi.

  • Image.copy_to_fb() — skopiowanie obrazu do bufora ramki (z opcjonalnym przesunięciem (x, y)) oraz przykład copy2fb.py.

Pozostałe zmiany i ulepszenia

  • Wyszukiwanie diamentowe w find_template() precyzyjniej dopracowuje swój krok (dokładniejsze, wolniejsze); binning włącza się automatycznie dla rozmiarów ramki powyżej VGA na OpenMV 2; automatyczne powiększenie/skalowanie jest wyłączone przy VGA na OV7725.

Poprawki błędów

  • Naprawiono obliczanie obrazu całkowego i kwadratu obrazu całkowego (wpływające na dokładność Haar / cech / dopasowywania szablonów), FFT 1D/2D oraz korelację fazową, a także zmianę rozmiaru bufora ramki przy poolingu w miejscu.

Sprzęt i obsługa płytek

  • Sensor odległości Time-of-Flight (ToF) przez I2C.

  • Nowe niskorozdzielcze rozmiary ramki (B40x30 / B64x32 / B64x64) dla przepływu optycznego.

Zmiany API powodujące niezgodność

Widoczne dla użytkownika niezgodności API między v1.5.0 a v1.6.0. Zakres: moduły C dla Pythona w modules/ oraz biblioteki Pythona w scripts/libraries/.

Zmiana powodująca niezgodność to zmiana zachowania (to samo API, inny wynik) — ponownie sprawdź dotknięte skrypty. Każdy skrót commita prowadzi do jego diffa na GitHubie.

image.find_template() wymusza swój ROI (zachowanie)

image.find_template() weryfikuje teraz swój obszar zainteresowania i zgłasza wyjątek („Region of interest is bigger than image!”), gdy ROI jest nieobecny/zbyt duży lub mniejszy od szablonu. Przekaż prawidłowy roi=(x, y, w, h), który jest co najmniej wielkości szablonu i mieści się w obrazie.

Commity: a25e0c162

Lista kontrolna migracji

Przekaż prawidłowy roi (≥ wielkość szablonu, wewnątrz obrazu) do image.find_template() (zmiana find_template). Wszystkie pozostałe skrypty działają bez zmian.