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 пропонує дію Редагувати … поріг за допомогою редактора порогів, що відкриває редактор із попередньо завантаженими значеннями та оновлює вихідний кортеж після закриття (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).

  • Редактор порогів тепер зберігає та відновлює стан повзунків (значення комбо/інверсії/мін-макс) між сеансами, а не лише геометрію вікна (bf284997b).

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

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

  • Автодоповнення членів тепер спрацьовує при введенні . після закриваючої дужки, наприклад ), ] або }, тому доповнення з’являються після викликів функцій та індексацій (9fa8a253e).

Виправлення помилок

  • Виправлено діалог реєстрації SWD-ID OpenMV Cam, щоб кнопка Скасувати та завершення запиту надійно закривали його, не покладаючись на код результату приведення покажчика (6599856c4).

  • Виправлено відповідність мікропрограм для зареєстрованих плат шляхом видалення токена реєстрації [board:id] з рядка архітектури перед пошуком у таблиці відповідностей мікропрограм (a1be146f1).

  • Виправлено регресію реєстрації, коли обробка успіху/помилки ніколи не виконувалась через інвертовану перевірку скасування та не екранований regex ідентифікатора плати, а також пропускалась перевірка реєстрації для камер на базі 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 додав нові операції логічного І/АБО 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 залишаються доступними як псевдоніми.