v1.6.0

v1.6.0 додає модуль Time-of-Flight (tof), image.find_displacement() (оптичний потік методом FFT фазової кореляції), API пулінгу зображень, sensor.set_windowing() та параметри пошуку image.find_template(). find_template() тепер перевіряє коректність ROI — прочитайте розділ про критичні зміни нижче.

Основне

  • Модуль tof — підтримка датчика відстані Time-of-Flight.

  • image.find_displacement() — FFT фазова кореляція (оптичний потік).

  • Пулінгmidpoint_pool() / mean_pool() та їх варіанти з пулінгом.

  • sensor.set_windowing() — вікнове кадрування / бінінг датчика з новими низькороздільними розмірами кадру.

  • find_template() — додано параметри step / search (SEARCH_EX / SEARCH_DS) / roi.

  • Критично: image.find_template() тепер перевіряє коректність ROI — перегляньте критичні зміни.

Нові можливості

  • tof — додано модуль Time-of-Flight з tof.init() / tof.deinit() / tof.read_frame() / tof.draw_frame() / tof.write_reg() (підтримка ToF-датчика через I2C).

  • image.find_displacement() — додано визначення зміщення методом FFT фазової кореляції (з субпіксельною точністю та оцінкою якості результату) і приклад оптичного потоку.

  • Пулінг — додано Image.midpoint_pool() / midpoint_pooled() / mean_pool() / mean_pooled().

  • sensor.set_windowing((x, y, w, h)) — вікнове кадрування/бінінг датчика з новими розмірами кадру sensor.B40x30 / B64x32 / B64x64 для оптичного потоку.

  • image.find_template() — додано ключові аргументи step, search (image.SEARCH_EX за замовчуванням / image.SEARCH_DS — швидкий ромбоподібний пошук) та roi.

  • Image.copy_to_fb() — копіювання зображення у кадровий буфер (з необов’язковим зміщенням (x, y)) та приклад copy2fb.py.

Інші зміни та покращення

  • Ромбоподібний пошук find_template() точніше уточнює крок (більш точний, але повільніший); бінінг автоматично вмикається для розмірів кадру вище VGA на OpenMV 2; автоматичне масштабування вимкнено при VGA на OV7725.

Виправлення помилок

  • Виправлено обчислення інтегрального зображення та квадрата інтегрального зображення (що впливало на точність Haar / ознак / зіставлення шаблонів), 1D/2D FFT і фазову кореляцію, а також зміну розміру кадрового буфера при пулінгу на місці.

Підтримка апаратного забезпечення та плат

  • Датчик відстані Time-of-Flight (ToF) через I2C.

  • Нові низькороздільні розміри кадру (B40x30 / B64x32 / B64x64) для оптичного потоку.

Критичні зміни API

Видимі для користувача зміни API між v1.5.0 і v1.6.0. Область: C-модулі Python у modules/ та бібліотеки Python у scripts/libraries/.

Критична зміна — це зміна поведінки (той самий API, різний результат) — перевірте зачеплені скрипти. Кожен хеш коміту веде до його diff на GitHub.

image.find_template() перевіряє ROI (поведінка)

image.find_template() тепер перевіряє область інтересу і генерує виняток («Region of interest is bigger than image!»), якщо ROI відсутня/завелика або менша за шаблон. Передайте коректну roi=(x, y, w, h) розміром не менше шаблону, яка повністю вміщується у зображення.

Коміти: a25e0c162

Контрольний список міграції

Передайте коректну roi (≥ розміру шаблону, в межах зображення) до image.find_template() (зміна find_template). Усі інші скрипти працюють без змін.