v3.6.0#
v3.6.0 впроваджує повну підтримку камери OV5640 5 МП з новими кадрами високої роздільної здатності (HD / FHD / QHD / QXGA / WQXGA), оновлює ядро до MicroPython 1.12, значно оптимізує програмний кодек JPEG і виявлення AprilTag / ліній, додає UVC (USB-відео) для OpenMV Cam H7 Plus та підтримку QSPI флеш-пам’яті до 32 МБ. Поведінка MicroPython та get_histogram() змінились — прочитайте список критичних змін нижче.
Основне#
OV5640 5 МП — повний драйвер камери з новими кадрами HD / FHD / QHD / QXGA / WQXGA / WQXGA2.
MicroPython 1.12 — оновлено вбудоване ядро.
Швидший конвеєр — значно оптимізовано програмне кодування JPEG, виявлення AprilTag, виявлення ліній LSD,
histeq()та декодування QR-коду.UVC на H7 Plus — OpenMV Cam H7 Plus може працювати як USB-відеопристрій.
Критична зміна: поведінка MicroPython, нормалізація
image.get_histogram()та вивід JPEG/відтінків сірого OpenMV 3 змінились — дивіться список критичних змін.
Нові можливості#
OV5640 — додано повну підтримку 5-МП камери OV5640 (зовнішня конфігурація тактування в ініціалізації датчика) та нові константи розміру кадру
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — звільнено для використання з MicroPython.
Додано приклад DAC timed-write (
dac_write_timed.py) та перейменованоdac_control.pyнаdac_write.py.
Інші зміни та покращення#
Оновлено вбудований MicroPython до 1.12; значно оптимізовано програмний кодек JPEG (шлях VGA, шляхи відтінків сірого/бінарний, цілочисельна замість плаваючої арифметики, оптимізоване захоплення MCU), LSD
find_line_segments(), виявлення AprilTag,Image.histeq()та перетворення QR-коду / RGB-в-сірий; додано підтримку QSPI флеш-пам’яті для мікросхем до 32 МБ; видалено застарілий приклад CMSIS-CNNcnn.py.
Виправлення помилок#
Камера та обробка зображень:
Виправлено пошкодження кодування JPEG на HQQQVGA, стиснення бінарного (1-бітного) зображення → JPEG, регресію
find_line_segments()(повторно увімкнено перевіркуNOTDEFдля невирівняних адрес) та незначні проблеми драйвера OV2640.
Система та завантаження:
Виправлено самотестування / пошкодження файлової системи (
selftest.pyтепер запускається до увімкнення USB MSC, а USB MSC вмикається при фатальній помилці, щоб хост міг прочитати журнал помилок),pyb.DACwrite_timed(), тактуванняmachine.I2Cдля H7, повторне увімкнення overdrive F7 після режиму зупинки та інтервалrtc.wakeup()уstop_mode.py.
Апаратне забезпечення та підтримка плат#
OV5640 — повний драйвер 5-МП камери з кадрами високої роздільної здатності.
OpenMV Cam H7 Plus — підтримка UVC (USB-відео); цільову плату
OPENMV4Rперейменовано наOPENMV4P.QSPI флеш-пам’ять — тепер підтримуються мікросхеми до 32 МБ.
Критичні зміни API#
Видимі зміни API між v3.5.2 та v3.6.0. Область: Python C-модулі в modules/ та бібліотеки Python у scripts/libraries/.
Усі три критичні зміни — це зміни поведінки (той самий API, інші результати) — перевірте відповідні скрипти. Кожен хеш коміту посилається на його diff на GitHub.
MicroPython оновлено до 1.12 (поведінка)#
Вбудоване ядро MicroPython оновлено до 1.12. Поведінка стандартної бібліотеки та мови відповідає MicroPython 1.12 upstream; перевірте скрипти, які залежать від версійно-специфічної поведінки micropython / стандартних модулів.
Коміти: eafd431ea
Змінено нормалізацію порогу image.get_histogram() (поведінка)#
image.get_histogram() (та get_statistics()) з пороговими значеннями кольору тепер нормалізує за кількістю порогових пікселів, а не за всією ROI, та використовує floor замість round для індексації бінів. Значення гістограм/статистики для порогових викликів відрізняються від попередніх версій — переналаштуйте код, який порівнював абсолютні значення гістограм.
Коміти: 7cf0f8089
Вивід JPEG/відтінків сірого OpenMV 3 змінився (поведінка)#
Щоб зекономити флеш-пам’ять, таблицю пошуку YUV на OpenMV 3 (M7) було вимкнено, тому значення пікселів виводу JPEG та відтінків сірого обчислюються дещо інакше на OpenMV 3. Вивід залишається дійсним, але незначно відрізняється від попередніх версій; перевірте порівняння на рівні пікселів на OpenMV 3.
Коміти: 0e4b46e41
Контрольний список міграції#
Перевірте скрипти, що залежать від версійно-специфічної поведінки MicroPython, на відповідність 1.12 (оновлення MicroPython), переналаштуйте код, який порівнював абсолютні значення get_histogram() / get_statistics() при використанні порогів кольору (зміна гістограми), та перевірте порівняння на рівні пікселів на OpenMV 3 (зміна виводу OpenMV 3). Усі інші скрипти працюють без змін.