v1.6.0

v1.6.0 сосредоточен на регистрации OpenMV Cam и более богатом рабочем процессе машинного зрения: IDE теперь обнаруживает незарегистрированные камеры при подключении, получает редактор порогов, интегрированный с редактором кода, добавляет сворачиваемые панели и продвигает поставляемую прошивку с 2.3.0 до 2.4.1 (попутно добавляя обнаружение линий). Он продолжает использовать Qt Creator 4.0.2 без перебазирования. Есть одно видимое пользователю нарушение: подключение незарегистрированной камеры теперь запрашивает ключ платы при каждом подключении (см. раздел «Несовместимые изменения»).

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

  • Регистрация OpenMV Cam теперь обнаруживается при подключении: IDE запрашивает архитектуру платы, проверяет плату/ID по openmv.io и предлагает пользователю зарегистрировать камеру с помощью ключа платы.

  • Поставляемая прошивка 2.4.1 для камер OMV2 (M4) и OMV3 (M7) добавляет обнаружение линий (find_lines / find_line_segments через преобразование Хафа) и новый объект результата image.match_descriptor в 2.4.0; за прошивкой 2.4.1 следует переименование API бинарных операций.

  • Интеграция редактора порогов: щелчок правой кнопкой по выбранному кортежу порога в оттенках серого или LAB в редакторе открывает редактор порогов с предварительно загруженными значениями и записывает скорректированный кортеж обратно в исходный код при закрытии.

  • Сворачиваемые панели: панели буфера кадра и последовательного терминала получили кнопки-ящики, которые скрывают и снова показывают панель и восстанавливают её состояние из настроек.

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

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

  • Регистрация OpenMV Cam обнаруживается при подключении. IDE запрашивает архитектуру платы и проверяет плату/ID по openmv.io (openmv-swd-ids-check.php / openmv-swd-ids-register.php), предлагая пользователю зарегистрировать камеру с помощью ключа платы. Включён диалог регистрации с рабочей гиперссылкой на покупку, отображением хода выполнения и обработкой ошибок (c61052eb3, 9fa8a253e).

  • Редактор порогов из редактора: щелчок правой кнопкой по выбранному порогу в оттенках серого (g_min, g_max) или шестиэлементному кортежу LAB предлагает действие Edit … threshold with Threshold Editor, которое открывает редактор с предварительно загруженными значениями и обновляет исходный кортеж при закрытии (3d12e6ee7, 992d3bdf8).

  • Сворачиваемые панели: панели буфера кадра и последовательного терминала получили кнопки-ящики сверху/снизу/слева/справа, которые скрывают и снова показывают панель и восстанавливают её состояние из настроек (abaf628ff, 7461e3b55, b51faa8f5).

  • Живое разрешение и ROI в строке заголовка буфера кадра, например Frame Buffer - Res (w:.., h:..) - ROI (x:.., y:.., w:.., h:..) (992d3bdf8).

  • Записи DataMatrix Generator и Barcode Generator были добавлены в меню Machine Vision Tools, каждая из которых открывает веб-поиск Google для онлайн-генератора (bf284997b).

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

  • Когда буфер кадра отключён, на его месте теперь отображается центрированное наложение Frame Buffer Disabled - click the disable button again to enable (top right) (bf284997b).

  • Редактор порогов теперь сохраняет и восстанавливает состояние своих ползунков (значения combo/invert/min-max) между сеансами, а не только геометрию окна (bf284997b).

  • Переработана подсветка синтаксиса Python для более качественного выделения цветом имён классов/функций/методов/аргументов OpenMV и ключевых слов импорта в редакторе и терминале (38c00e5a2, 7461e3b55).

  • Вставка в последовательный терминал теперь отправляет байты буфера обмена по одному символу за раз и вставляет паузу в 1 мс между исходящими последовательными/UDP/TCP пакетами, чтобы REPL MicroPython не переполнялся, а CR и LF выдаются раздельно при нажатии Enter (c61052eb3).

  • Авто-дополнение членов теперь срабатывает при наборе . после закрывающей скобки, такой как ), ] или }, поэтому дополнения появляются после вызовов функций и индексаций (9fa8a253e).

Исправления ошибок

  • Исправлен диалог регистрации SWD-ID OpenMV Cam, чтобы отмена и завершение запроса надёжно закрывали его, вместо того чтобы полагаться на код результата приведения указателя (6599856c4).

  • Исправлено сопоставление прошивок для зарегистрированных плат за счёт удаления регистрационного токена [board:id] из строки архитектуры перед поиском в таблице сопоставления прошивок (a1be146f1).

  • Исправлена регрессия регистрации, при которой обработка успеха/ошибки никогда не выполнялась из-за инвертированной проверки отмены и неэкранированного регулярного выражения board-id, а также пропускалась проверка регистрации для камер на базе M4 (9fa8a253e).

  • Отключена логика левой боковой панели навигации исходного Qt Creator для исправления виджета навигации в раскладке OpenMV (bf284997b).

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

  • Базовая версия Qt Creator: 4.0.2.

  • Поставляемая прошивка OpenMV: продвинута с 2.3.0 до 2.4.1 для камер OMV2 (M4) и OMV3 (M7) в два шага. Шаг 2.3.0 -> 2.4.0 добавил обнаружение линий (find_lines / find_line_segments через преобразование Хафа), новый объект результата image.match_descriptor / kptmatch, примеры декодирования DataMatrix (find_datamatrices.py / find_datamatrices_w_lens_zoom.py), примеры find_lines.py / find_line_segments.py и метод sensor.set_vsync_output() (f0cd4d75c). Шаг 2.4.0 -> 2.4.1 добавил новые логические операции AND/OR над изображениями b_and / b_or и переименовал nand / nor / xor / xnor в b_nand / b_nor / b_xor / b_xnor (прежние имена сохранены как псевдонимы) (4fc16559e).

  • Драйверы Windows: переработаны командные скрипты установки драйверов DfuSe / FTDI / OpenMV / PybCDC и добавлены ранее отсутствовавшие бинарные файлы драйверов DfuSe и FTDI/OpenMV/PybCDC, DLL и распространяемые компоненты VC, необходимые для установки (b51faa8f5, c2633fc04, 4fc16559e).

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

Подключение OpenMV Cam, которую openmv.io сообщает как незарегистрированную, теперь вызывает до трёх запросов на ввод ключа платы, повторяясь при каждом подключении, пока камера не будет зарегистрирована. Платы на базе M4 освобождены от этой проверки. Переименование бинарных операций над изображениями в прошивке 2.4.1 является обратно совместимым, поскольку прежние имена методов nand / nor / xor / xnor остаются доступными как псевдонимы.