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, конфігурація HW 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. Область застосування: C-модулі Python у modules/ та бібліотеки Python у scripts/libraries/.
Кожна зміна позначена ступенем впливу:
незначний — вузький API; впливає лише на скрипти, що його використовували.
поведінковий — той самий API, різні результати; перевірте налаштовані скрипти.
Зміни згруповано за ступенем впливу в такому порядку. Якщо ви просто хочете перенести свій код, перейдіть до контрольного списку міграції в кінці. Кожен хеш коміту веде до його diff на GitHub.
Константи підказок image перейменовано (незначний)#
Константи підказок малювання 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() вилучено (поведінковий)#
image.draw_image() більше не підтримує від’ємне масштабування, а точка вибірки текстури переміщена до центру пікселя. Скрипти, що покладалися на від’ємне масштабування для перевертання зображення під час малювання, повинні використовувати інший спосіб, а вихідні дані можуть зміститися до половини пікселя порівняно з попереднім.
Коміти: 7e83dbb92
Контрольний список міграції#
Перейменуйте image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER на image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (перейменування констант підказок), та замініть будь-яке від’ємне масштабування draw_image() явним перевертанням (зміна масштабування draw_image). Усі інші скрипти працюють без змін.