v4.2.4

v4.2.4 упрощает обмен данными с камерой с помощью единственной команды get_state(), ускоряет отображение буфера кадра в реальном времени, перенося вычисление метрики фокусировки JPEG из пути широковещательной рассылки, и добавляет отображение необработанных несжатых кадров в рамках пути сжатого формата пикселей. Этот выпуск остаётся на базе Qt Creator 10.0.1 и включает прошивку OpenMV 4.5.9. Встроенные примеры April-Tags переписаны под новый AprilTag API прошивки; пользовательские скрипты, написанные под старый API, могут потребовать обновления.

Основные изменения

  • Единый обмен данными через get_state() опустошает и опрашивает буферы вывода и кадра камеры одной командой на прошивке, которая это поддерживает, заменяя раздельный опрос getTxBuffer/frameSizeDump.

  • Более быстрое отображение буфера кадра в реальном времени переносит затратное вычисление метрики фокусировки JPEG из пути широковещательной рассылки буфера кадра в обновление гистограммы.

  • Необработанные несжатые кадры (binary, grayscale8 и RGB565) теперь можно получать и отображать в рамках пути сжатого формата пикселей, в дополнение к JPEG.

  • Встроенная прошивка 4.5.9 для всех поддерживаемых плат, включая обновлённые двоичные файлы UVC.

Новые возможности

  • Просмотрщик буфера кадра теперь может получать и отображать необработанные несжатые кадры (binary, grayscale8 и RGB565), отправленные в рамках пути сжатого формата пикселей, в дополнение к JPEG. Шаг строки в двоичном формате выровнен по 4 байта. (cba5f5dda)

Прочие изменения и улучшения

  • IDE теперь опустошает и опрашивает буферы вывода и кадра камеры с помощью единственной новой команды get_state() на прошивке, которая это поддерживает, вместо раздельного опроса getTxBuffer/frameSizeDump, что делает обмен данными при подключении/отключении/запуске более эффективным. Ветвь, ограниченная версией, вызывает getState() и испускает новый сигнал getStateDone() по завершении получения размера кадра и tx-буфера. (ce137a7b6, 0cf969bfd)

  • Отображение буфера кадра в реальном времени стало быстрее, поскольку вычисление метрики фокусировки JPEG было перенесено из broadcastUpdate() в обновление гистограммы, где оно теперь выполняется над растровым изображением, уменьшенным до ширины 160 пикселей. Перерисовки QCustomPlot теперь используют очередь перерисовки. (9dbcd8875)

  • Все встроенные примеры AprilTag (find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, примеры эмуляции pixy I2C/SPI/UART, modbus_apriltag, apriltag_tracking и пример RPC popular_features_as_the_remote_device) обновлены под новый AprilTag API прошивки с использованием доступа через свойства и упрощены. Встроенный пример TensorFlow tf_object_detection.py теперь задаёт обрезку окна 240x240 через sensor.set_windowing((240, 240)), а пример температуры Bluetooth BLE (examples/10-Bluetooth/ble_temperature.py) удалён. (42a646b63)

Поддержка платформ и инструментов

  • База Qt Creator: 10.0.1.

  • Встроенная прошивка OpenMV: обновлена 4.5.8 -> 4.5.9 для всех поддерживаемых плат, включая OPENMV2/3/4/4P/PT, OPENMV_RT1060 и ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE, с обновлёнными двоичными файлами UVC. (42a646b63)

  • Версия OpenMV IDE: повышена 4.2.1 -> 4.2.4.

Нарушающие совместимость изменения

Встроенные примеры April-Tags переписаны под новый AprilTag API прошивки: средства доступа к тегу теперь являются свойствами (tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name) вместо вызовов методов. Встроенный пример find_apriltags.py теперь демонстрирует только семейство TAG36H11; его код выбора нескольких семейств (TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) и вспомогательный метод family_name() удалены. Пользовательские скрипты, написанные под старый AprilTag API с вызовами методов, могут потребовать обновления для соответствия прошивке 4.5.9.