v4.5.5

v4.5.5 — небольшой сопроводительный выпуск, посвящённый когерентности кэша буфера изображений, надёжности сброса датчика и упорядочению API морфологии.

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

  • Более надёжный захват — буферы видео теперь инвалидируются в кэше перед использованием, а задержка сброса/выключения датчика была увеличена.

  • Нарушение совместимости: ksize метода morph() теперь позиционный, а устаревшие методы пулинга были удалены (см. изменения, нарушающие совместимость).

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

  • Увеличена задержка после сброса / выключения датчика для более надёжного запуска камеры (Portenta H7 переопределяет эти задержки для своего датчика).

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

  • Исправлена проверка маски в erode().

  • Буферы видео теперь инвалидируются в кэше перед возвратом, что предотвращает устаревшие/повреждённые данные изображения.

  • i.MX RT: передача с камеры повторяется, если DMA всё ещё занят; STM32: состояние буфера видео сбрасывается при потере кадров.

Изменения API, нарушающие совместимость

Видимые пользователю изменения API между v4.5.4 и v4.5.5.

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

  • minor — узкий API; затрагивает только скрипты, которые его использовали.

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

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

ksize метода morph() стал позиционным; пулинг удалён (minor)

Аргумент размера ядра ksize метода morph() теперь является позиционным аргументом. Устаревшее семейство методов пулинга Image.pool() было удалено.

Коммиты: f92896589, 08ca21fd1

Разбор аргументов преобразования изображений стандартизирован (behavior)

Методы преобразования изображений (Image.to_*() / to()) были переведены на стандартизированный разборщик аргументов mp_arg_parse_all. Вызовы, которые полагались на прежний порядок позиционных/ключевых аргументов, могут потребовать корректировки.

Коммит: 3fee02ffb

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

Для чистого переноса на v4.5.5: передавайте ksize метода morph() позиционно, откажитесь от использования удалённых методов пулинга (изменение морфологии) и перепроверьте порядок аргументов в вызовах преобразования изображений (изменение разбора аргументов преобразования).