v1.0.0-beta

v1.0.0-beta é a versão inicial (beta) do firmware OpenMV — a primeira compilação pública da OpenMV Cam. Estabelece a base sobre a qual tudo o que se seguiu foi construído: um ambiente de execução de scripts MicroPython na OpenMV Cam STM32F4, uma API de sensor sensor, uma biblioteca de visão por computador image, e o OpenMV IDE para desenvolvimento em tempo real. Por ser a primeira versão, não há nada a migrar — esta entrada resume o que o firmware inicial incluía.

Destaques

  • MicroPython na OpenMV Cam — executar scripts Python na câmara via USB com um REPL interativo e interface de depuração no IDE.

  • Captura de imagem — o módulo sensor: configurar o formato de pixel / resolução / taxa de fotogramas e capturar fotogramas com snapshot().

  • Visão por computador — a biblioteca image: deteção de manchas de cor, desenho, filtros, correspondência de padrões, deteção de faces com cascatas de Haar e pontos-chave.

  • OpenMV IDE — uma aplicação de desenvolvimento para desktop com um visualizador de buffer de fotograma em tempo real, editor de código e atualização de firmware integrada no IDE.

  • Hardware — a OpenMV Cam original (STM32F4) com câmaras OmniVision OV9650 / OV2640, suporte para cartão SD e shield Wi-Fi.

Novas funcionalidades

Scripts e módulos:

  • Um ambiente de execução MicroPython como base do firmware, com execução de scripts na câmara via interface de depuração USB e um REPL interativo.

  • Um módulo sensorset_pixformat() / set_framesize() / set_framerate(), controlos de limite de ganho / brilho / contraste / ganho, reset(), snapshot(), e espelho horizontal / inversão vertical — mais constantes de sensor e resolução.

  • Um módulo de visão por computador image (imlib) que expõe objetos de imagem (com o protocolo de buffer Python) e a superfície de processamento de imagem subjacente.

  • Um módulo time / clock para medição de tempo e FPS.

  • Módulos periféricos iniciais — led (LED RGB), spi, gpio (E/S de pino com registo de interrupções externas), uart, rng por hardware, um temporizador systick, e file / select para o sistema de ficheiros.

  • Ligação em rede via socket / wlan (CC3000 WiFi), um controlador de ecrã lcd, um módulo de sensor térmico mlx90620, e gravação de vídeo AVI/MJPEG.

Processamento de imagem:

  • Fotogramas da câmara capturados para um buffer de fotograma alocado dinamicamente.

  • Deteção de manchas de cor (preenchimento por inundação) e limiarização no espaço de cores LAB/XYZ (com tabelas de conversão RGB↔LAB).

  • Primitivas de desenho (linha, texto/fonte, círculo), filtros (erosão / dilatação / mediana / inversão / binário / limiar), escalonamento de imagem (bilinear), extração de sub-imagem, blit e mistura alfa.

  • Correspondência de padrões (com guardar/carregar padrão), deteção de faces/objetos com cascatas de Viola-Jones Haar (cascatas carregáveis + um conversor de cascatas OpenCV), uma cascata LBP e detetor de olhos, deteção e correspondência de pontos-chave FAST / SURF / FREAK, imagens integrais e deteção de movimento.

  • Codificação JPEG (com controlo de qualidade), gravação de imagens PPM / PGM / PNG / raw, e codificação de vídeo AVI/MJPEG.

IDE e ferramentas:

  • A aplicação de desktop OpenMV IDE — visualizador de buffer de fotograma em tempo real com FPS, editor de código (abrir / novo / guardar / guardar como, ficheiros recentes, menu de Exemplos incluído), ligar / repor / ligar automaticamente, e guardar/carregar configuração.

  • Atualização de firmware no IDE via DFU, um utilitário pydfu em Python puro, e um comando USB de forçar entrada no bootloader; a biblioteca/protocolo de anfitrião openmv.py; um visualizador de buffer de fotograma autónomo e uma ferramenta de cascatas; e regras udev para Linux.

Outras alterações e melhorias

  • Scripts de exemplo incluídos: deteção de manchas, deteção / rastreio de faces, SURF / pontos-chave, correspondência de padrões, LCD, visualizador de buffer de fotograma, blit, streaming MJPEG, gravação AVI, servidor de eco, FPS e demos de JPEG / escrita de imagem.

Hardware e suporte de placas

  • OpenMV Cam — STM32F4xx (STM32F407 / F429) nas primeiras revisões de hardware, com CMSIS + HAL periférico/Cube STM32 e CMSIS-DSP.

  • Câmaras — OmniVision OV9650 e OV2640 (SCCB/I2C, controlo do regulador) via HAL de sensor, mais o sensor de IR térmico MLX90620; resoluções de QQCIF/QCIF até SVGA/UXGA a até 30 FPS.

  • Armazenamento / conectividade — cartão SD (SPI e SDIO) com FatFS, um sistema de ficheiros em flash interno, SDRAM (buffer de fotograma em SDRAM), USB OTG FS (depuração + DFU), CC3000 WiFi (shields Wi-Fi / BLE), um LED de infravermelhos, e I2C por software/hardware e SPI com DMA.

Alterações de API incompatíveis

Nenhuma. v1.0.0-beta é a versão inicial (beta) do firmware OpenMV — não existe versão anterior com a qual seja necessário manter compatibilidade. As versões subsequentes documentam as suas alterações incompatíveis em relação à versão anterior; consulte o restante do changelog.