v3.6.3¶
A v3.6.3 ativa o TensorFlow no OpenMV 3 / F7, adiciona suporte a modelos uint8/int8/float32, muda os sensores térmicos MLX90640/AMG8833 para hardware I2C, adiciona histogramas de diferença de imagem e offset de correção de lente, e reformula o controlo de leitura. As constantes de hint do image foram renomeadas e o escalonamento de draw_image() foi alterado — leia as alterações incompatíveis abaixo.
Destaques¶
TensorFlow no OpenMV 3 / F7 —
tfativado nas câmaras baseadas em F7, com suporte a modelos uint8/int8/float32.Sensores térmicos — MLX90640 e AMG8833 movidos para hardware I2C com um novo driver MLX90640.
Imagem — suporte a diferença de imagem em
get_histogram()e correção de offset paralens_corr().draw_image — paletas alfa em modo escala de cinzentos e controlo de leitura reformulado.
Incompatível: as constantes de hint do
imageforam renomeadas e o escalonamento negativo dedraw_image()foi removido — consulte as alterações incompatíveis.
Novas funcionalidades¶
TensorFlow — ativado
tfno OpenMV 3 / F7 e TensorFlow atualizado para suportar modelos uint8 / int8 / float32.get_histogram()— adicionada capacidade de diferença de imagem.lens_corr()— adicionada correção de offset.draw_image()— as paletas alfa funcionam agora no modo escala de cinzentos (não bilinear), com paletas alfa com interpolação bilinear e centramento de imagem; novo código de controlo de leitura.
Outras alterações e melhorias¶
Mudados o MLX90640 e o AMG8833 para hardware I2C (novo driver MLX90640, HW I2C em configuração de placa para sensores externos, maior retry de leitura MLX), ativado I2C fast-mode-plus em câmaras que o suportam, adicionadas leitura/escrita de bytes cambus com temporização I2C, e ignorada a aplicação de alfa quando é 0 por questões de desempenho.
Correções de erros¶
Câmara e imagem:
Corrigida e acelerada a correção de rotação, o erro Bayer-to-YCbCr na aresta esquerda, e adicionada uma correção de aresta a
bayer_to_y()/bayer_to_binary().
Ferramentas:
Corrigidos erros Python 2/3 e a ordem de chamada de
get_statistics().
Alterações incompatíveis de API¶
Alterações de API visíveis pelo utilizador entre a v3.6.2 e a v3.6.3. Âmbito: módulos C Python em modules/ e bibliotecas Python em scripts/libraries/.
Cada alteração está marcada com o seu impacto:
minor — API restrita; afeta apenas scripts que a utilizavam.
behavior — mesma API, resultados diferentes; re-verifique scripts ajustados.
As alterações estão agrupadas por impacto nessa ordem. Se apenas pretende portar o seu código, salte para a lista de verificação de migração no final. Cada hash de commit liga ao respetivo diff no GitHub.
Constantes de hint do image renomeadas (minor)¶
As constantes de hint de desenho do image foram renomeadas: image.INTERPOLATE_BILINEAR → image.IMAGE_HINT_BILINEAR e image.IMAGE_CENTER → image.IMAGE_HINT_CENTER. Scripts que passavam os nomes antigos das constantes a draw_image() devem usar os novos nomes. (Estas são renomeadas novamente para image.BILINEAR / image.CENTER na v3.7.0.)
Commits: 8f8872537
Escalonamento negativo de draw_image() removido (behavior)¶
image.draw_image() já não suporta escalonamento negativo, e o ponto de amostragem de textura foi movido para o centro do pixel. Scripts que dependiam do escalonamento negativo para inverter uma imagem durante o desenho devem usar outro método de inversão, e a saída pode deslocar-se até meio pixel em relação ao comportamento anterior.
Commits: 7e83dbb92
Lista de verificação de migração¶
Renomeie image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER para image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (a renomeação das constantes de hint), e substitua qualquer escalonamento negativo de draw_image() por uma inversão explícita (a alteração de escalonamento de draw_image). Todos os outros scripts funcionam sem alterações.