v1.0.0-beta¶
A v1.0.0-beta é o lançamento inicial (beta) do firmware OpenMV — o primeiro build público da OpenMV Cam. Ela estabelece a base sobre a qual tudo desde então é construído: um runtime de scripts MicroPython na OpenMV Cam STM32F4, uma API de sensor de câmera, uma biblioteca de visão de máquina image e a OpenMV IDE para desenvolvimento ao vivo. Por ser o primeiro lançamento, não há nada a migrar — esta entrada resume o que o firmware inicial trouxe.
Destaques¶
MicroPython na OpenMV Cam — execute scripts Python na câmera via USB com um REPL interativo e a interface de depuração da IDE.
Captura de câmera — o módulo
sensor: configure formato de pixel / resolução / taxa de quadros e capture quadros comsnapshot().Visão de máquina — a biblioteca
image: detecção de blobs por cor, desenho, filtros, correspondência de modelos, detecção de faces por cascata Haar e pontos-chave.OpenMV IDE — uma IDE de desktop com um visualizador de frame buffer ao vivo, editor de código e atualização de firmware dentro da IDE.
Hardware — a OpenMV Cam original (STM32F4) com câmeras OmniVision OV9650 / OV2640, suporte a cartão SD e a WiFi-shield.
Novos recursos¶
Scripts e módulos:
Um runtime MicroPython como base do firmware, com execução de scripts na câmera por uma interface de depuração USB e um REPL interativo.
Um módulo
sensor—set_pixformat()/set_framesize()/set_framerate(), controles de teto de ganho / brilho / contraste / ganho,reset(),snapshot()e espelhamento horizontal / inversão vertical — além de constantes de sensor e resolução.Um módulo de visão de máquina
image(imlib) que expõe objetos de imagem (com o protocolo de buffer do Python) e a camada de processamento de imagem abaixo.Um módulo
time/clockpara temporização e medição de FPS.Módulos de periféricos iniciais —
led(LED RGB),spi,gpio(I/O de pinos com registro de interrupção externa),uart,rngpor hardware, um timer systick efile/selectpara o sistema de arquivos.Rede via
socket/wlan(WiFi CC3000), um driver de displaylcd, um módulo de sensor térmicomlx90620e gravação de vídeo AVI/MJPEG.
Processamento de imagem:
Quadros da câmera capturados em um frame buffer alocado dinamicamente.
Detecção de blobs por cor (flood-fill) e limiarização no espaço de cor LAB/XYZ (com tabelas de conversão RGB↔LAB).
Primitivas de desenho (linha, string/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 mesclagem alfa.
Correspondência de modelos (com salvar/carregar de modelos), detecção de faces/objetos por cascata Haar Viola-Jones (cascatas carregáveis + um conversor de cascatas do OpenCV), uma cascata LBP e detector de olhos, detecção de pontos-chave FAST / SURF / FREAK e correspondência de descritores, imagens integrais e detecção de movimento.
Codificação JPEG (com controle de qualidade), salvamento de imagens PPM / PGM / PNG / raw e codificação de vídeo AVI/MJPEG.
IDE e ferramentas:
O aplicativo de desktop OpenMV IDE — visualizador de frame buffer ao vivo com FPS, um editor de código (abrir / novo / salvar / salvar-como, arquivos recentes, menu Examples integrado), conectar / resetar / conexão automática e carregar/salvar de configuração.
Atualização de firmware dentro da IDE via DFU, um utilitário
pydfuem Python puro e um comando USB para forçar a entrada no bootloader; a biblioteca/protocolo de hostopenmv.py; um visualizador de frame buffer e ferramenta de cascatas independentes; e regras udev do Linux.
Outras mudanças e melhorias¶
Scripts de exemplo integrados: detecção de blobs, detecção / rastreamento de faces, SURF / pontos-chave, correspondência de modelos, LCD, visualizador de frame buffer, blit, streamer MJPEG, gravação AVI, servidor de eco, FPS e demos de escrita de JPEG / imagem.
Suporte a hardware e placas¶
OpenMV Cam — STM32F4xx (STM32F407 / F429) nas primeiras revisões de hardware, com CMSIS + HAL de periféricos/Cube da STM32 e CMSIS-DSP.
Câmeras — OmniVision OV9650 e OV2640 (SCCB/I2C, controle de regulador) por uma HAL de sensor, mais o sensor térmico IR 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 arquivos em flash interna, SDRAM (frame buffer na SDRAM), USB OTG FS (depuração + DFU), WiFi CC3000 (shields WiFi / BLE), um LED IR e I2C por software/hardware e SPI por DMA.
Mudanças incompatíveis na API¶
Nenhuma. A v1.0.0-beta é o lançamento inicial (beta) do firmware OpenMV — não há lançamento anterior com o qual quebrar a compatibilidade. Os lançamentos subsequentes documentam suas mudanças incompatíveis em relação ao predecessor; veja o restante do changelog.