v4.4.3

v4.4.3 представляє плату OpenMV RT1060 (NXP i.MX RT1060), значно розширений API запису MJPEG, нові методи ISP зображення (автоматичний баланс білого, матриця корекції кольорів, гамма) та MicroPython 1.20. Назви плат Arduino були змінені, а стандартні параметри MJPEG змінились — читайте про критичні зміни нижче.

Основні можливості

  • OpenMV RT1060 — нова плата NXP i.MX RT1060 (та ревізія REV2).

  • Розширений API MJPEGwrite(), count, is_closed, sync(), ключові слова ROI/palette/alpha та фіналізатор.

  • Нові методи ISPimage.awb(), image.ccm(), image.gamma().

  • MicroPython оновлено до 1.20.0.

  • Критична зміна: цілі плат Arduino перейменовані, а стандартна якість MJPEG змінилась — дивіться критичні зміни.

Нові можливості

  • OpenMV RT1060 — повний порт NXP i.MX RT1060 (драйвери датчика, GPIO, I2C, SPI) та конфігурація плати, плюс підтримка ревізії плати RT1060 REV2 та будильник/пробудження machine.RTC на порті i.MX RT.

  • MJPEG — новий метод Mjpeg.write() (з ключовими словами roi, rgb_channel, alpha, color_palette, alpha_palette, hint), плюс count, is_closed, sync() та фіналізатор __del__, а також псевдоніми конструктора MJPEG / Mjpeg / mjpeg.

  • Методи ISP зображенняimage.awb([max]) (автоматичний баланс білого), image.ccm(matrix) (матриця корекції кольорів 3x3 / 4x3) та image.gamma(gamma, contrast, brightness).

  • AprilTag — нові атрибути центроїду з плаваючою точкою cxf / cyf (cx / cy як і раніше повертають округлені цілі числа).

  • MLtf.regression() тепер приймає ulab ndarray та підтримує 2D вхідні тензори (1D також підтримується); додаткові операції TensorFlow Lite увімкнено у вбудованих бібліотеках libtf.

Інші зміни та покращення

  • MicroPython оновлено до 1.20.0; ulab оновлено до 6.0.12.

  • image.gamma / gamma_corr перероблено як метод ISP та розширено для підтримки зображень Bayer та YUV (не лише змінюваних зображень).

  • Плати STM32 (Portenta H7, Nicla Vision) перейшли на драйвер WiFi cyw43 з відкритим вихідним кодом.

  • Бібліотека rtsp зроблена портативною (використовує random/time замість pyb); urequests тепер завжди закриває свій сокет.

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

Камера та датчики:

  • Виправлено частоту тактування OV767x (CLKRC) на Arduino Nano 33 BLE Sense, обробку обходу/попереднього дільника CLKRC OV7670, та переставлено лінії даних D0/D1 на Arduino Nicla Vision / ML kit (порт nrf).

Система та USB:

  • Виправлено обробку коротких USB-пакетів у режимі налагодження TinyUSB (надійніші передачі IDE/хост).

  • Виправлено полярність блимаючого світлодіода OpenMV RT1060 та виявлення SD-картки при включенні живлення.

Апаратне забезпечення та підтримка плат

  • OpenMV RT1060 — нова плата NXP i.MX RT1060, плюс ревізія REV2.

  • STM32 — Portenta H7 / Nicla Vision перейшли на драйвер WiFi cyw43 з відкритим вихідним кодом.

Критичні зміни API

Зміни API, видимі користувачу, між v4.4.2 та v4.4.3. Область: C-модулі Python у modules/ та бібліотеки Python у scripts/libraries/.

Кожна зміна позначена за впливом:

  • behavior — той самий API, різні результати; перевірте налаштовані скрипти.

  • tooling — впливає на іменування/прошивання плат, не на Python API.

Зміни згруповані за впливом у такому порядку. Кожен хеш коміту є посиланням на різницю на GitHub.

Стандартні параметри та обробка помилок MJPEG (behavior)

Код запису MJPEG було перероблено. Стандартне значення add_frame() / write() JPEG quality підвищено з 50 до 90 (записи стають більшими і якіснішими за замовчуванням), недійсна якість тепер викидає ValueError, операція з закритим файлом тепер викидає OSError, а методи запису тепер повертають об’єкт Mjpeg. Скрипти, що покладалися на стару стандартну якість або попередню поведінку при помилках, слід перевірити.

Коміт: 3fc55ad31

Перейменування цілей плат Arduino (tooling)

Цілі плат Arduino перейменовано відповідно до оновленої конвенції найменування, і всі маніфести плат (набори заморожених модулів) оновлено. Це не змінює Python API, але імена файлів/плат мікропрограми для збирання або прошивання плат Arduino змінились — оновіть своє інструментарій відповідно.

Коміти: 77a7d16c0, 59d9f2603

Контрольний список міграції

Для чистого переходу на v4.4.3: перевірте записи MJPEG на нову стандартну якість та поведінку при помилках (зміна MJPEG), та оновіть інструментарій збирання/прошивання для перейменованих цілей плат Arduino (перейменування плат). Усі інші скрипти запускаються без змін.