v3.6.0¶
v3.6.0 обеспечивает полную поддержку 5-мегапиксельной камеры OV5640 с новыми разрешениями высокого качества (HD / FHD / QHD / QXGA / WQXGA), обновляет ядро до MicroPython 1.12, существенно оптимизирует программный JPEG-кодировщик и обнаружение AprilTag / линий, добавляет UVC (USB-видео) на OpenMV Cam H7 Plus и поддерживает QSPI-флеш объёмом до 32 МБ. Поведение MicroPython и get_histogram() изменилось — ознакомьтесь с несовместимыми изменениями ниже.
Основные изменения¶
5-мегапиксельная OV5640 — полнофункциональный драйвер камеры с новыми разрешениями 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 (
dac_write_timed.py), аdac_control.pyпереименован вdac_write.py.
Прочие изменения и улучшения¶
Встроенный MicroPython обновлён до 1.12; существенно оптимизированы программный JPEG-кодировщик (путь VGA, пути оттенков серого/бинарного изображения, целочисленная арифметика вместо вычислений с плавающей точкой, оптимизированный захват MCU),
find_line_segments()(LSD), обнаружение 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 включается при фатальной ошибке, чтобы хост мог прочитать журнал ошибок),write_timed()дляpyb.DAC, тайминги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; перепроверьте скрипты, зависящие от специфичного для версии поведения micropython / стандартных модулей.
Коммиты: eafd431ea
Нормализация порога image.get_histogram() изменена (поведение)¶
image.get_histogram() (и get_statistics()) с цветовыми порогами теперь нормализует по числу пикселей, прошедших пороговую обработку, а не по всей области интереса (ROI), и использует округление вниз вместо обычного округления при индексировании корзин. Значения гистограммы/статистики для вызовов с порогами отличаются от предыдущих выпусков — перенастройте код, сравнивавший абсолютные значения гистограммы.
Коммиты: 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). Все остальные скрипты работают без изменений.