v4.1.2

A v4.1.2 adiciona formatos de pixel avançados com suporte completo a debayering, processamento de imagem YUV, um novo módulo imu (LSM6DSOX), áudio de microfone digital DFSDM, e suporte ao sensor de eventos FrogEye2020. O comportamento de erode()/dilate() e a biblioteca RPC de ambiente de trabalho foram alterados — leia as alterações de ruptura abaixo.

Destaques

  • Formatos de pixel avançados com suporte a debayering completo.

  • Processamento de imagem YUV.

  • Novo módulo imu — suporte LSM6DSOX (orientação configurável, MLC).

  • Áudio DFSDM — entrada de microfone digital.

  • Suporte ao sensor de eventos FrogEye2020.

  • Ruptura: erode()/dilate() operam agora em pixels não brancos e uma classe RPC de ambiente de trabalho foi renomeada — consulte as alterações de ruptura.

Novas funcionalidades

  • Formatos de pixel avançados — novo tratamento de formato de pixel com suporte a debayering completo (Bayer → RGB/escala de cinzentos em todos os formatos).

  • Processamento de imagem YUV — adicionado suporte a processamento de imagem YUV.

  • Módulo imu — um novo módulo IMU com o controlador LSM6DSOX, orientação IMU configurável, e suporte a machine-learning-core (MLC).

  • Áudio — adicionado suporte a microfone digital DFSDM ao módulo audio.

  • FrogEye2020 — novo controlador de sensor de eventos FrogEye2020, com scripts de exemplo para câmara de eventos.

Outras alterações e melhorias

  • A codificação JPEG por software é ~10 % mais rápida (tratamento de bits melhorado).

  • machine.I2C usa agora o periférico I2C de hardware no STM32 H7.

  • find_apriltags(), find_line_segments(), e o caminho de entrada TensorFlow foram movidos para o backend unificado draw_image.

Correções de erros

  • Corrigidas situações de overflow na codificação JPEG por software, compress em image, e a deteção de formato IS_JPEG.

Suporte de hardware e placas

  • Sensor de eventos FrogEye2020.

  • Arduino Nicla Vision (BORMIO) — pinout e USB VID/PID atualizados.

  • Arduino Portenta H7 — relógio de sensor predefinido definido para 12 MHz.

Alterações de ruptura da API

Alterações de API visíveis para o utilizador entre v4.1.1 e v4.1.2. Âmbito: módulos C Python em modules/ e bibliotecas Python em scripts/libraries/.

Cada alteração é marcada com o seu impacto:

  • menor — API restrita; apenas ferramentas do lado do host.

  • comportamento — mesma API, resultados diferentes; rever scripts ajustados.

As alterações estão agrupadas por impacto nessa ordem. Cada hash de commit é uma ligação para o respetivo diff no GitHub.

Classe da biblioteca RPC de ambiente de trabalho renomeada (menor)

Na biblioteca RPC de ambiente de trabalho do lado do host (tools/rpc/rpc.py), a classe rpc_wifi_or_ethernet_master foi renomeada para rpc_network_master, e os scripts host RTSP/RPC foram alterados para usar as bibliotecas de rede padrão. Isto afeta apenas os programas no PC host; os scripts na câmara não são afetados.

Commits: a2f016ba0, a4858015c

erode() / dilate() operam em pixels não brancos (comportamento)

Image.erode() e Image.dilate() foram corrigidos para operar em pixels não brancos em vez de apenas pixels brancos. Os resultados diferem das versões anteriores para imagens não binárias / não exclusivamente brancas — rever os pipelines de morfologia ajustados.

Commit: 899f80759

Guia de migração

Para uma portabilidade limpa para v4.1.2: nos programas RPC no PC host, renomear rpc_wifi_or_ethernet_master para rpc_network_master (a renomeação RPC), e rever os resultados de erode() / dilate() em imagens não binárias (a alteração de morfologia). Os scripts na câmara funcionam sem alterações.