v3.6.4#
v3.6.4 додає бібліотеку RTSP відео-сервера, повністю виправляє режими зображення OV5640 (Grayscale / RGB565 / Bayer / JPEG при будь-якій роздільній здатності), подвоює FPS датчика за рахунок оптимізованого драйвера, та виправляє пакет помилок кодування Bayer / JPEG. image.get_pixel() на зображеннях Bayer та автообертання датчика змінено — ознайомтеся зі змінами, що порушують зворотну сумісність.
Основні можливості#
RTSP — нова бібліотека RTSP відео-сервера з прикладом.
OV5640 — Grayscale / RGB565 / Bayer / JPEG тепер працюють при всіх роздільних здатностях, з більшим максимальним розміром передачі JPEG та подвоєним зчитуванням у високій роздільній здатності.
Подвоєний FPS — драйвер датчика оптимізовано для ~2× частоти кадрів.
Виправлення — Bayer edge/vflip, програмний JPEG (1-bpp та YCbCr grayscale), та проблеми переповнення буфера.
Несумісні зміни:
image.get_pixel()тепер деbayerує зображення Bayer, а автообертання тепер повторно застосовується приsensor.reset()— дивіться зміни, що порушують сумісність.
Нові можливості#
RTSP — додано бібліотеку
rtspта прикладrtsp_video_server.pyдля RTSP відеотрансляції.
Інші зміни та вдосконалення#
Оптимізовано драйвер датчика приблизно для подвоєння частоти кадрів, подвоєно зчитування OV5640 у високій роздільній здатності для Bayer/Grayscale/JPEG, збільшено максимальний розмір передачі JPEG, та оновлено
cascade_convert.pyдля роботи з Python 3.
Виправлення помилок#
Камера та обробка зображень:
Виправлено режими зображення OV5640, щоб Grayscale / RGB565 / Bayer / JPEG коректно працювали при всіх роздільних здатностях, Bayer vflip на OV7725 / OV7690, помилку перетворення Bayer на правому краї, програмне JPEG-кодування 1-bpp зображень та YCbCr grayscale (віднімання −128), кінцеві дані на JPEG-зображеннях, та проблеми переповнення буфера.
Несумісні зміни API#
Зміни API, помітні для користувача, між v3.6.3 та v3.6.4. Область застосування: C-модулі Python у modules/ та бібліотеки Python у scripts/libraries/.
Обидві несумісні зміни є поведінковими (той самий API, різні результати) — перевірте відповідні скрипти. Кожен хеш коміту веде до його diff на GitHub.
image.get_pixel() деbayerує зображення Bayer (поведінковий)#
image.get_pixel() на зображенні у форматі Bayer тепер деbayerує та повертає кортеж (r, g, b) замість необробленого однокомпонентного значення Bayer. Скрипти, що зчитували необроблені значення Bayer через get_pixel(), тепер отримуватимуть інтерпольовані RGB-кортежі та мають бути оновлені.
Коміти: bf16b6a4f
Автообертання повторно застосовується при sensor.reset() (поведінковий)#
Автообертання датчика тепер (повторно) запускається при sensor.reset(). Скрипти, що викликали sensor.reset() після налаштування орієнтації, очікуючи збереження стану обертання або його незастосування, можуть отримати іншу орієнтацію та мають бути перевірені.
Коміти: 0d13a214b
Контрольний список міграції#
Оновіть код, що зчитував необроблені значення Bayer через image.get_pixel(), для очікування кортежу (r, g, b) (зміна get_pixel), та перевірте орієнтацію датчика навколо sensor.reset() (зміна автообертання). Усі інші скрипти працюють без змін.