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). Все остальные скрипты работают без изменений.