v4.1.2

v4.1.2 добавляет расширенные форматы пикселей с полным дебайерингом, обработку изображений YUV, новый модуль imu (LSM6DSOX), аудио с цифрового микрофона через DFSDM и поддержку событийного датчика FrogEye2020. Поведение erode()/dilate() и десктопная библиотека RPC изменились — ознакомьтесь с критическими изменениями ниже.

Основные моменты

  • Расширенные форматы пикселей с поддержкой полного дебайеринга.

  • Обработка изображений YUV.

  • Новый модуль imu — поддержка LSM6DSOX (настраиваемая ориентация, MLC).

  • Аудио DFSDM — ввод с цифрового микрофона.

  • Поддержка событийного датчика FrogEye2020.

  • Критическое изменение: erode()/dilate() теперь работают с не-белыми пикселями, а десктопный класс RPC был переименован — см. критические изменения.

Новые возможности

  • Расширенные форматы пикселей — новая обработка форматов пикселей с поддержкой полного дебайеринга (Bayer → RGB/grayscale для всех форматов).

  • Обработка изображений YUV — добавлена поддержка обработки изображений YUV.

  • Модуль imu — новый модуль IMU с драйвером LSM6DSOX, настраиваемой ориентацией IMU и поддержкой ядра машинного обучения (MLC).

  • Аудио — в модуль audio добавлена поддержка цифрового микрофона DFSDM.

  • FrogEye2020 — новый драйвер событийного датчика FrogEye2020, с примерами скриптов для событийной камеры.

Прочие изменения и улучшения

  • Программное кодирование JPEG стало быстрее примерно на 10 % (улучшена обработка битов).

  • machine.I2C теперь использует аппаратное периферийное устройство I2C на STM32 H7.

  • find_apriltags(), find_line_segments() и входной путь TensorFlow были перенесены на единый бэкенд draw_image.

Исправления ошибок

  • Исправлены ситуации переполнения при программном кодировании JPEG, compress в image и определение формата IS_JPEG.

Поддержка оборудования и плат

  • Событийный датчик FrogEye2020.

  • Arduino Nicla Vision (BORMIO) — обновлённая распиновка и USB VID/PID.

  • Arduino Portenta H7 — тактовая частота датчика по умолчанию установлена на 12 МГц.

Критические изменения API

Видимые пользователю изменения API между v4.1.1 и v4.1.2. Область: C-модули Python в modules/ и библиотеки Python в scripts/libraries/.

Каждое изменение помечено степенью его влияния:

  • minor — узкое API; только инструментарий на стороне хоста.

  • behavior — то же API, другие результаты; перепроверьте настроенные скрипты.

Изменения сгруппированы по влиянию в этом порядке. Каждый хеш коммита ведёт к его diff на GitHub.

Класс десктопной библиотеки RPC переименован (minor)

В десктопной библиотеке RPC на стороне хоста (tools/rpc/rpc.py) класс rpc_wifi_or_ethernet_master был переименован в rpc_network_master, а хост-скрипты RTSP/RPC были переключены на использование стандартных сетевых библиотек. Это затрагивает только программы на хост-ПК; скрипты на камере не затронуты.

Коммиты: a2f016ba0, a4858015c

erode() / dilate() работают с не-белыми пикселями (behavior)

Image.erode() и Image.dilate() были исправлены так, чтобы работать с не-белыми пикселями, а не только с белыми. Результаты отличаются от предыдущих выпусков для не-бинарных / не-только-белых изображений — перепроверьте настроенные конвейеры морфологии.

Коммит: 899f80759

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

Для чистого переноса на v4.1.2: в программах RPC на хост-ПК переименуйте rpc_wifi_or_ethernet_master в rpc_network_master (переименование RPC) и перепроверьте все результаты erode() / dilate() на не-бинарных изображениях (изменение морфологии). В остальном скрипты на камере работают без изменений.