v4.4.3¶
A v4.4.3 introduz a placa OpenMV RT1060 (NXP i.MX RT1060), uma API de gravação MJPEG muito expandida, novos métodos ISP de imagem (balanço de brancos automático, matriz de correção de cor, gama) e MicroPython 1.20. Os nomes das placas Arduino foram alterados e os valores predefinidos do MJPEG mudaram — consulte as alterações 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 predefinida do MJPEG foi alterada — consulte as alterações incompatíveis.
Novas funcionalidades¶
OpenMV RT1060 — porta completa para NXP i.MX RT1060 (controladores de sensor, GPIO, I2C, SPI) e configuração de placa, além de suporte para a revisão de placa RT1060 REV2 e alarme/despertar
machine.RTCna porta i.MX RT.MJPEG — novo método
Mjpeg.write()(com palavras-chaveroi,rgb_channel,alpha,color_palette,alpha_palette,hint) além decount,is_closed,sync()e um finalizador__del__, e aliases de construtorMJPEG/Mjpeg/mjpeg.Métodos ISP de imagem —
image.awb([max])(balanço de brancos automático),image.ccm(matrix)(matriz de correção de cor 3x3 / 4x3), eimage.gamma(gamma, contrast, brightness).AprilTag — novos atributos de centróide em vírgula flutuante
cxf/cyf(cx/cycontinuam a devolver inteiros arredondados).ML —
tf.regression()aceita agora um ndarray ulab e suporta tensores de entrada 2D (1D ainda suportado); operações TensorFlow Lite adicionais foram ativadas nas bibliotecaslibtfincluídas.
Outras alterações e melhorias¶
MicroPython atualizado para 1.20.0; ulab atualizado para 6.0.12.
image.gamma/gamma_corrreformulado como método ISP e estendido para suportar imagens Bayer e YUV (não apenas imagens mutáveis).As placas STM32 (Portenta H7, Nicla Vision) passaram para o controlador WiFi cyw43 de código aberto.
A biblioteca
rtspfoi tornada portátil (utilizarandom/timeem vez depyb);urequestsfecha agora sempre o seu socket.
Correções de erros¶
Câmara e sensores:
Corrigida a taxa de relógio OV767x (CLKRC) no Arduino Nano 33 BLE Sense, o tratamento de bypass/pré-divisor CLKRC do OV7670, e trocadas as linhas de dados D0/D1 na 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/anfitrião mais fiáveis).
Corrigida a polaridade do LED piscante da OpenMV RT1060 e a deteção de cartão SD no arranque.
Hardware e suporte de placa¶
OpenMV RT1060 — nova placa NXP i.MX RT1060, mais a revisão REV2.
STM32 — Portenta H7 / Nicla Vision migrados para o controlador WiFi cyw43 de código aberto.
Alterações incompatíveis na API¶
Alterações da API visíveis pelo utilizador entre a v4.4.2 e a v4.4.3. Âmbito: módulos C Python em modules/ e bibliotecas Python em scripts/libraries/.
Cada alteração está marcada com o seu impacto:
comportamento — mesma API, resultados diferentes; verifique novamente os scripts ajustados.
ferramentas — afeta a nomenclatura/gravação de placas, não a API Python.
As alterações estão agrupadas por impacto nessa ordem. Cada hash de commit tem uma ligação para o seu diff no GitHub.
Valores predefinidos e tratamento de erros MJPEG (comportamento)¶
O código de gravação MJPEG foi reformulado. A quality JPEG predefinida de add_frame() / write() foi aumentada de 50 para 90 (as gravações são maiores e de maior qualidade por predefinição), uma qualidade inválida lança agora ValueError, operar num ficheiro fechado lança agora OSError, e os métodos de gravação devolvem agora o objeto Mjpeg. Os scripts que dependiam da qualidade predefinida antiga ou do comportamento de erro anterior devem ser verificados.
Commit: 3fc55ad31
Alvos de placa Arduino renomeados (ferramentas)¶
Os alvos de placa Arduino foram renomeados para uma convenção de nomenclatura atualizada e todos os manifestos de placa (conjuntos de módulos congelados) foram atualizados. Isto não altera a API Python, mas os nomes de ficheiros de firmware/placa utilizados para compilar ou gravar placas Arduino foram alterados — atualize as suas ferramentas em conformidade.
Lista de verificação de migração¶
Para uma migração limpa para a v4.4.3: verifique novamente as gravações MJPEG para a nova qualidade predefinida e o comportamento de erros (a alteração MJPEG), e atualize as ferramentas de compilação/gravação para os alvos de placa Arduino renomeados (a renomeação de placas). Todos os outros scripts funcionam sem alterações.