v1.0.0-beta

v1.0.0-beta — це перший (бета) випуск мікропрограми OpenMV — перша публічна збірка OpenMV Cam. Вона закладає фундамент, на якому побудовано все подальше: середовище виконання скриптів MicroPython на STM32F4 OpenMV Cam, API датчика камери sensor, бібліотека технічного зору image та OpenMV IDE для живої розробки. Оскільки це перший випуск, мігрувати нема з чого — тут наведено перелік усього, що увійшло до початкової мікропрограми.

Основне

  • MicroPython на OpenMV Cam — виконання скриптів Python на камері через USB з інтерактивним REPL та інтерфейсом налагодження IDE.

  • Захоплення зображень з камери — модуль sensor: налаштування формату пікселів / роздільної здатності / частоти кадрів і захоплення кадрів за допомогою snapshot().

  • Технічний зір — бібліотека image: виявлення кольорових плям, малювання, фільтри, порівняння шаблонів, виявлення облич через каскади Хаара та ключові точки.

  • OpenMV IDE — настільне IDE з переглядачем кадрового буфера в реальному часі, редактором коду та оновленням мікропрограми прямо з IDE.

  • Апаратне забезпечення — оригінальна OpenMV Cam (STM32F4) з камерами OmniVision OV9650 / OV2640, підтримка SD-карти та WiFi-модуля.

Нові функції

Скрипти та модулі:

  • Середовище виконання MicroPython як основа мікропрограми, з виконанням скриптів на камері через інтерфейс налагодження USB та інтерактивний REPL.

  • Модуль sensorset_pixformat() / set_framesize() / set_framerate(), керування стелею підсилення / яскравістю / контрастністю / підсиленням, reset(), snapshot(), горизонтальне дзеркалення та вертикальне перевертання — а також константи датчика та роздільної здатності.

  • Модуль технічного зору image (imlib), що надає об’єкти зображень (з протоколом буфера Python) та інструменти обробки зображень.

  • Модуль time / clock для відліку часу та вимірювання FPS.

  • Ранні модулі периферійних пристроїв — led (RGB LED), spi, gpio (введення/виведення виводів з реєстрацією зовнішніх переривань), uart, апаратний rng, системний таймер, а також file / select для файлової системи.

  • Мережа через socket / wlan (CC3000 WiFi), драйвер дисплея lcd, модуль теплового датчика mlx90620 та запис відео AVI/MJPEG.

Обробка зображень:

  • Кадри камери захоплюються у динамічно виділений кадровий буфер.

  • Виявлення кольорових плям (заповнення областей) та порогова обробка у просторі кольорів LAB/XYZ (з таблицями перетворення RGB↔LAB).

  • Примітиви малювання (лінія, рядок/шрифт, коло), фільтри (ерозія / дилатація / медіана / інверсія / бінаризація / порогування), масштабування зображень (білінійне), виділення підзображень, blit та альфа-змішування.

  • Порівняння шаблонів (зі збереженням/завантаженням шаблонів), виявлення облич/об’єктів каскадом Віола-Джонса Хаара (завантажувані каскади + конвертер каскадів OpenCV), каскад LBP та детектор очей, виявлення та опис ключових точок FAST / SURF / FREAK з їх зіставленням, інтегральні зображення та виявлення руху.

  • JPEG-кодування (з контролем якості), збереження зображень PPM / PGM / PNG / raw та кодування відео AVI/MJPEG.

IDE та інструменти:

  • Настільний застосунок OpenMV IDE — переглядач кадрового буфера в реальному часі з FPS, редактор коду (відкрити / новий / зберегти / зберегти як, останні файли, меню вбудованих прикладів), підключення / скидання / автопідключення та збереження/завантаження конфігурації.

  • Оновлення мікропрограми через DFU прямо з IDE, утиліта pydfu на чистому Python та USB-команда для примусового переходу в завантажувач; хост-бібліотека/протокол openmv.py; окремий переглядач кадрового буфера та інструмент для роботи з каскадами; правила udev для Linux.

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

  • Вбудовані приклади скриптів: виявлення плям, виявлення/відстеження облич, SURF / ключові точки, порівняння шаблонів, LCD, переглядач кадрового буфера, blit, MJPEG-стрімер, запис AVI, сервер echo, FPS та демонстрація запису JPEG / зображень.

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

  • OpenMV Cam — STM32F4xx (STM32F407 / F429) для ранніх апаратних ревізій із CMSIS + HAL периферійних пристроїв/Cube STM32 та CMSIS-DSP.

  • Камери — OmniVision OV9650 та OV2640 (SCCB/I2C, керування регулятором напруги) через HAL датчика, а також тепловий ІЧ-датчик MLX90620; роздільна здатність від QQCIF/QCIF до SVGA/UXGA при до 30 FPS.

  • Зберігання / підключення — SD-карта (SPI та SDIO) з FatFS, внутрішня флеш-файлова система, SDRAM (кадровий буфер у SDRAM), USB OTG FS (налагодження + DFU), CC3000 WiFi (WiFi / BLE модулі), ІЧ LED, програмний/апаратний I2C та SPI з DMA.

Несумісні зміни API

Відсутні. v1.0.0-beta — це перший (бета) випуск мікропрограми OpenMV — попередніх випусків, з якими можна було б порушити сумісність, немає. Наступні випуски документують свої несумісні зміни відносно попередніх; дивіться решту журналу змін.