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 degetTxBuffer/frameSizeDump, tornando os handshakes de conectar/desconectar/iniciar mais eficientes. Um ramo condicionado pela versão chamagetState()e emite um novo sinalgetStateDone()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 doQCustomPlotagora 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_trackinge o exemplo RPCpopular_features_as_the_remote_device) foram atualizados para a nova API de AprilTag do firmware usando acessadores de propriedade e simplificados. O exemplo TensorFlowtf_object_detection.pyempacotado agora define um recorte de janelamento 240x240 viasensor.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_RT1060eARDUINO_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.