v4.4.3¶
A v4.4.3 introduz a placa OpenMV RT1060 (NXP i.MX RT1060), uma API de gravação MJPEG bastante expandida, novos métodos de imagem ISP (balanço de branco automático, matriz de correção de cor, gama) e o MicroPython 1.20. Os nomes das placas Arduino foram alterados e os padrões do MJPEG mudaram — leia as mudanças incompatíveis abaixo.
Destaques¶
OpenMV RT1060 — nova placa NXP i.MX RT1060 (e uma revisão REV2).
API MJPEG expandida —
write(),count,is_closed,sync(), palavras-chave ROI/palette/alpha e um finalizador.Novos métodos ISP —
image.awb(),image.ccm(),image.gamma().MicroPython atualizado para 1.20.0.
Incompatível: os alvos de placa Arduino foram renomeados e a qualidade padrão do MJPEG mudou — veja as mudanças incompatíveis.
Novos recursos¶
OpenMV RT1060 — porta completa para o NXP i.MX RT1060 (drivers de sensor, GPIO, I2C, SPI) e configuração de placa, além de suporte à revisão de placa RT1060 REV2 e ao alarme/wakeup de
machine.RTCna porta i.MX RT.MJPEG — um novo método
Mjpeg.write()(com as palavras-chaveroi,rgb_channel,alpha,color_palette,alpha_palette,hint) além decount,is_closed,sync()e um finalizador__del__, e os aliases de construtorMJPEG/Mjpeg/mjpeg.Métodos de imagem ISP —
image.awb([max])(balanço de branco automático),image.ccm(matrix)(matriz de correção de cor 3x3 / 4x3) eimage.gamma(gamma, contrast, brightness).AprilTag — novos atributos de centroide em ponto flutuante
cxf/cyf(cx/cyainda retornam inteiros arredondados).ML —
tf.regression()agora aceita um ndarray do ulab e suporta tensores de entrada 2D (1D ainda é suportado); operações adicionais do TensorFlow Lite foram habilitadas nas bibliotecaslibtfincluídas.
Outras mudanças e melhorias¶
MicroPython atualizado para 1.20.0; ulab atualizado para 6.0.12.
image.gamma/gamma_corrreformulados como um método ISP e estendidos para suportar imagens Bayer e YUV (não apenas imagens mutáveis).As placas STM32 (Portenta H7, Nicla Vision) migraram para o driver WiFi cyw43 de código aberto.
A biblioteca
rtspfoi tornada portátil (usarandom/timeem vez depyb); ourequestsagora sempre fecha seu socket.
Correções de bugs¶
Câmera e sensores:
Corrigida a taxa de clock do OV767x (CLKRC) no Arduino Nano 33 BLE Sense, o tratamento de bypass/pré-escalonador do CLKRC do OV7670 e as linhas de dados D0/D1 trocadas no Arduino Nicla Vision / kit ML (porta nrf).
Sistema e USB:
Corrigido o tratamento de pacotes USB curtos no modo de depuração TinyUSB (transferências IDE/host mais confiáveis).
Corrigidas a polaridade do LED piscante do OpenMV RT1060 e a detecção do cartão SD na energização.
Suporte a hardware e placas¶
OpenMV RT1060 — nova placa NXP i.MX RT1060, além da revisão REV2.
STM32 — Portenta H7 / Nicla Vision migraram para o driver WiFi cyw43 de código aberto.
Mudanças incompatíveis na API¶
Quebras de API visíveis ao usuário entre a v4.4.2 e a v4.4.3. Escopo: C-modules em Python em modules/ e bibliotecas Python em scripts/libraries/.
Cada mudança é marcada com seu impacto:
behavior — mesma API, resultados diferentes; reveja scripts ajustados.
tooling — afeta a nomeação / o flash de placas, não a API Python.
As mudanças são agrupadas por impacto nessa ordem. Cada hash de commit aponta para seu diff no GitHub.
Padrões e tratamento de erros do MJPEG (behavior)¶
O código de gravação MJPEG foi revisado. A quality JPEG padrão de add_frame() / write() foi elevada de 50 para 90 (as gravações ficam maiores e de maior qualidade por padrão), uma qualidade inválida agora levanta ValueError, operar sobre um arquivo fechado agora levanta OSError e os métodos de gravação agora retornam o objeto Mjpeg. Scripts que dependiam da qualidade padrão antiga ou do comportamento de erro anterior devem ser revistos.
Commit: 3fc55ad31
Alvos de placa Arduino renomeados (tooling)¶
Os alvos de placa Arduino foram renomeados para uma convenção de nomeação atualizada e todos os manifestos de placa (conjuntos de módulos congelados) foram atualizados. Isso não altera a API Python, mas os nomes de arquivo/placa de firmware usados para compilar ou fazer o flash de placas Arduino mudaram — atualize suas ferramentas adequadamente.
Checklist de migração¶
Para uma portabilidade limpa para a v4.4.3: reveja as gravações MJPEG quanto à nova qualidade padrão e ao comportamento de erro (a mudança do MJPEG) e atualize as ferramentas de build/flash para os alvos de placa Arduino renomeados (a renomeação de placas). Todos os outros scripts funcionam sem alterações.