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). Усі інші скрипти працюють без змін.