v4.2.4

A v4.2.4 simplifica o handshake da câmera com um único comando get_state(), acelera a exibição ao vivo do framebuffer movendo o cálculo da métrica de foco JPEG para fora do caminho de transmissão e adiciona a exibição de quadros brutos não comprimidos sob o caminho de pixformat comprimido. Esta versão permanece baseada no Qt Creator 10.0.1 e empacota o firmware OpenMV 4.5.9. Os exemplos de AprilTags empacotados foram reescritos para a nova API de AprilTag do firmware; scripts de usuário escritos para a API antiga podem precisar de atualização.

Destaques

  • Handshake único get_state() esvazia e consulta os buffers de impressão e de quadros da câmera com um único comando no firmware que o suporta, substituindo o polling separado de getTxBuffer/frameSizeDump.

  • Exibição ao vivo do framebuffer mais rápida move o custoso cálculo da métrica de foco JPEG para fora do caminho de transmissão do framebuffer e para dentro da atualização do histograma.

  • Quadros brutos não comprimidos (binary, grayscale8 e RGB565) agora podem ser recebidos e exibidos sob o caminho de pixformat comprimido, além de JPEG.

  • Firmware empacotado 4.5.9 para todas as placas suportadas, incluindo binários UVC atualizados.

Novos recursos

  • O visualizador do framebuffer agora pode receber e exibir quadros brutos não comprimidos (binary, grayscale8 e RGB565) enviados sob o caminho de pixformat comprimido, além de JPEG. O stride de linha binário é alinhado em 4 bytes. (cba5f5dda)

Outras mudanças e melhorias

  • A IDE agora esvazia e consulta os buffers de impressão e de quadros da câmera usando um único novo comando get_state() no firmware que o suporta, em vez do polling separado de getTxBuffer/frameSizeDump, tornando os handshakes de conectar/desconectar/iniciar mais eficientes. Um ramo condicionado pela versão chama getState() e emite um novo sinal getStateDone() na conclusão de frame-size e tx-buffer. (ce137a7b6, 0cf969bfd)

  • A exibição ao vivo do framebuffer é mais rápida porque o cálculo da métrica de foco JPEG foi movido de broadcastUpdate() para a atualização do histograma, onde agora é executado em um pixmap reduzido para 160px de largura. As replotagens do QCustomPlot agora usam replotagem em fila. (9dbcd8875)

  • Todos os exemplos de AprilTag empacotados (find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, os exemplos de emulação pixy I2C/SPI/UART, modbus_apriltag, apriltag_tracking e o exemplo RPC popular_features_as_the_remote_device) foram atualizados para a nova API de AprilTag do firmware usando acessadores de propriedade e simplificados. O exemplo TensorFlow tf_object_detection.py empacotado agora define um recorte de janelamento 240x240 via sensor.set_windowing((240, 240)), e o exemplo de temperatura Bluetooth BLE (examples/10-Bluetooth/ble_temperature.py) foi removido. (42a646b63)

Suporte de plataforma e ferramentas

  • Base do Qt Creator: 10.0.1.

  • Firmware OpenMV empacotado: atualizado de 4.5.8 -> 4.5.9 para todas as placas suportadas, incluindo OPENMV2/3/4/4P/PT, OPENMV_RT1060 e ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE, com binários UVC atualizados. (42a646b63)

  • Versão da OpenMV IDE: incrementada de 4.2.1 -> 4.2.4.

Mudanças incompatíveis

Os exemplos de AprilTags empacotados foram reescritos para a nova API de AprilTag do firmware: os acessadores de tag agora são propriedades (tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name) em vez de chamadas de método. O exemplo find_apriltags.py empacotado agora demonstra apenas a família TAG36H11; seu código de seleção de múltiplas famílias (TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) e o auxiliar family_name() foram removidos. Scripts de usuário escritos para a antiga API de AprilTag baseada em chamadas de método podem precisar de atualização para corresponder ao firmware 4.5.9.