v3.6.3¶
v3.6.3 включает TensorFlow на OpenMV 3 / F7, добавляет поддержку моделей uint8/int8/float32, переводит тепловые датчики MLX90640/AMG8833 на аппаратный I2C, добавляет гистограммы разности изображений и смещение для коррекции объектива, а также перерабатывает управление считыванием. Константы-подсказки image были переименованы, а масштабирование draw_image() изменилось — ознакомьтесь с несовместимыми изменениями ниже.
Основные новшества¶
TensorFlow на OpenMV 3 / F7 —
tfвключён на камерах на базе F7 с поддержкой моделей uint8/int8/float32.Тепловые датчики — MLX90640 и AMG8833 переведены на аппаратный I2C с новым драйвером MLX90640.
Обработка изображений — поддержка разности изображений в
get_histogram()и коррекция смещения дляlens_corr().draw_image — альфа-палитры в режиме оттенков серого и переработанное управление считыванием.
Несовместимое изменение: константы-подсказки
imageбыли переименованы, а отрицательное масштабированиеdraw_image()удалено — см. несовместимые изменения.
Новые возможности¶
TensorFlow — включён
tfна OpenMV 3 / F7 и обновлён TensorFlow для поддержки моделей uint8 / int8 / float32.get_histogram()— добавлена возможность разности изображений.lens_corr()— добавлена коррекция смещения.draw_image()— альфа-палитры теперь работают в (не-билинейном) режиме оттенков серого, с билинейно интерполированными альфа-палитрами и центрированием изображения; новый код управления считыванием.
Прочие изменения и улучшения¶
MLX90640 и AMG8833 переведены на аппаратный I2C (новый драйвер MLX90640, аппаратный I2C в конфигурации платы для внешних датчиков, увеличено число повторов считывания MLX), включён режим I2C fast-mode-plus на поддерживающих его камерах, добавлены операции чтения/записи байтов через cambus с таймингами I2C, а применение альфа пропускается, когда оно равно 0, для повышения производительности.
Исправления ошибок¶
Камера и обработка изображений:
Исправлена и ускорена коррекция поворота, исправлена ошибка Bayer-to-YCbCr на левом крае и добавлено исправление краёв в
bayer_to_y()/bayer_to_binary().
Инструментарий:
Исправлены ошибки Python 2/3 и порядок вызовов
get_statistics().
Несовместимые изменения API¶
Видимые пользователю изменения API между v3.6.2 и v3.6.3. Область: Python-модули на C в modules/ и библиотеки Python в scripts/libraries/.
Каждое изменение помечено степенью влияния:
minor — узкий API; затрагивает только скрипты, которые его использовали.
behavior — тот же API, другие результаты; перепроверьте настроенные скрипты.
Изменения сгруппированы по влиянию в этом порядке. Если вам нужно просто перенести код, перейдите к контрольному списку миграции в конце. Каждый хеш коммита ссылается на свой diff на GitHub.
Константы-подсказки image переименованы (minor)¶
Константы-подсказки рисования image были переименованы: image.INTERPOLATE_BILINEAR → image.IMAGE_HINT_BILINEAR и image.IMAGE_CENTER → image.IMAGE_HINT_CENTER. Скрипты, передающие старые имена констант в draw_image(), должны использовать новые имена. (Они снова переименованы в image.BILINEAR / image.CENTER в v3.7.0.)
Коммиты: 8f8872537
Отрицательное масштабирование draw_image() удалено (behavior)¶
image.draw_image() больше не поддерживает отрицательное масштабирование, а точка выборки текстуры перемещена в центр пикселя. Скрипты, полагавшиеся на отрицательное масштабирование для отражения изображения при отрисовке, должны отражать его другим способом, а вывод может сместиться вплоть до половины пикселя по сравнению с прежним.
Коммиты: 7e83dbb92
Контрольный список миграции¶
Переименуйте image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER в image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (переименование констант-подсказок) и замените любое отрицательное масштабирование draw_image() явным отражением (изменение масштабирования draw_image). Все остальные скрипты работают без изменений.