v3.6.0¶
A v3.6.0 traz suporte completo para a câmara OV5640 de 5 MP com novos tamanhos de fotograma de alta resolução (HD / FHD / QHD / QXGA / WQXGA), atualiza o núcleo para o MicroPython 1.12, otimiza significativamente o codificador JPEG por software e a deteção de AprilTag / linhas, adiciona UVC (vídeo USB) na OpenMV Cam H7 Plus e suporta flash QSPI até 32 MB. O comportamento do MicroPython e o get_histogram() foram alterados — leia as alterações incompatíveis abaixo.
Destaques¶
OV5640 de 5 MP — driver de câmara completo com novos tamanhos de fotograma HD / FHD / QHD / QXGA / WQXGA / WQXGA2.
MicroPython 1.12 — o núcleo incluído foi atualizado.
Pipeline mais rápido — codificação JPEG por software, deteção de AprilTag, deteção de linhas LSD,
histeq()e descodificação de códigos QR fortemente otimizados.UVC no H7 Plus — a OpenMV Cam H7 Plus pode funcionar como dispositivo de vídeo USB.
Incompatível: o comportamento do MicroPython, a normalização de
image.get_histogram()e a saída JPEG/escala de cinzentos do OpenMV 3 foram alterados — consulte as alterações incompatíveis.
Novas funcionalidades¶
OV5640 — adicionado suporte completo para a câmara OV5640 de 5 MP (configuração de relógio externo na inicialização do sensor) e as novas constantes de tamanho de fotograma
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — libertado para poder ser utilizado pelo MicroPython.
Adicionado um exemplo de escrita temporizada DAC (
dac_write_timed.py) e renomeadodac_control.pyparadac_write.py.
Outras alterações e melhorias¶
Atualizado o MicroPython incluído para a versão 1.12; fortemente otimizados o codificador JPEG por software (caminho VGA, caminhos escala de cinzentos/binário, matemática com inteiros em vez de vírgula flutuante, captura MCU otimizada), LSD
find_line_segments(), deteção de AprilTag,Image.histeq()e conversão QR para escala de cinzentos/RGB; adicionado suporte a flash QSPI para chips até 32 MB; removido o exemplo obsoleto CMSIS-CNNcnn.py.
Correções de erros¶
Câmara e imagem:
Corrigida a corrupção da codificação JPEG em HQQQVGA, a compressão de imagem binária (1 bit) para JPEG, uma regressão em
find_line_segments()(reativada a verificação de não alinhamentoNOTDEF) e problemas menores no driver OV2640.
Sistema e arranque:
Corrigidos o autoteste / corrupção do sistema de ficheiros (
selftest.pypassa agora a ser executado antes de o USB MSC ser ativado, e o USB MSC é ativado em caso de erro fatal para que o host possa ler o registo de erros), opyb.DACwrite_timed(), os timings domachine.I2Cdo H7, a reativação do overdrive do F7 após o modo de paragem e o intervalo dertc.wakeup()dostop_mode.py.
Hardware e suporte a placas¶
OV5640 — driver completo para câmara de 5 MP com tamanhos de fotograma de alta resolução.
OpenMV Cam H7 Plus — suporte UVC (vídeo USB); o alvo de placa
OPENMV4Rfoi renomeado paraOPENMV4P.Flash QSPI — chips até 32 MB são agora suportados.
Alterações incompatíveis na API¶
Alterações na API visíveis pelo utilizador entre a v3.5.2 e a v3.6.0. Âmbito: módulos C Python em modules/ e bibliotecas Python em scripts/libraries/.
Todas as três alterações incompatíveis são alterações de comportamento (mesma API, resultados diferentes) — verifique novamente os scripts afetados. Cada hash de commit inclui uma ligação para o respetivo diff no GitHub.
MicroPython atualizado para 1.12 (comportamento)¶
O núcleo MicroPython incluído foi atualizado para a versão 1.12. O comportamento da biblioteca padrão e da linguagem segue o MicroPython 1.12 upstream; verifique novamente os scripts que dependem do comportamento específico de versão do micropython / módulos padrão.
Commits: eafd431ea
Normalização do limiar de image.get_histogram() alterada (comportamento)¶
O image.get_histogram() (e get_statistics()) com limiares de cor passa agora a normalizar pelo número de pixels com limiar em vez de todo o ROI, e utiliza piso em vez de arredondamento para a indexação de bins. Os valores de histograma/estatísticas para chamadas com limiar diferem das versões anteriores — reajuste o código que comparava com valores absolutos de histograma.
Commits: 7cf0f8089
Saída JPEG/escala de cinzentos do OpenMV 3 alterada (comportamento)¶
Para poupar flash, a tabela de pesquisa YUV do OpenMV 3 (M7) foi desativada, pelo que os valores de pixel na saída JPEG e em escala de cinzentos são calculados de forma ligeiramente diferente no OpenMV 3. A saída continua a ser válida, mas difere marginalmente das versões anteriores; verifique novamente comparações exatas de pixel no OpenMV 3.
Commits: 0e4b46e41
Lista de verificação de migração¶
Revalide os scripts que dependem do comportamento específico de versão do MicroPython em relação à versão 1.12 (a atualização do MicroPython), reajuste o código que comparava com valores absolutos de get_histogram() / get_statistics() ao utilizar limiares de cor (a alteração do histograma) e verifique novamente as comparações exatas de pixel no OpenMV 3 (a alteração de saída do OpenMV 3). Todos os outros scripts funcionam sem alterações.