v3.6.3¶
v3.6.3 habilita o TensorFlow no OpenMV 3 / F7, adiciona suporte a modelos uint8/int8/float32, migra os sensores térmicos MLX90640/AMG8833 para I2C por hardware, adiciona histogramas de diferença de imagem e offset de correção de lente, e reformula o controle de readout. As constantes de hint de image foram renomeadas e a escala de draw_image() mudou — leia as mudanças incompatíveis abaixo.
Destaques¶
TensorFlow no OpenMV 3 / F7 —
tfhabilitado nas câmeras baseadas no F7, com suporte a modelos uint8/int8/float32.Sensores térmicos — MLX90640 e AMG8833 migrados para I2C por hardware 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 no modo escala de cinza e controle de readout reformulado.
Incompatível: as constantes de hint de
imageforam renomeadas e a escala negativa dedraw_image()foi removida — veja as mudanças incompatíveis.
Novos recursos¶
TensorFlow — habilitado
tfno OpenMV 3 / F7 e atualizado o TensorFlow para dar suporte a modelos uint8 / int8 / float32.get_histogram()— adicionada a capacidade de diferença de imagem.lens_corr()— adicionada correção de offset.draw_image()— as paletas alfa agora funcionam no modo escala de cinza (não bilinear), com paletas alfa interpoladas bilinearmente e centralização da imagem; novo código de controle de readout.
Outras mudanças e melhorias¶
Migrados o MLX90640 e o AMG8833 para I2C por hardware (novo driver MLX90640, I2C por HW na config de placa para sensores externos, mais tentativas de readout do MLX), habilitado o I2C fast-mode-plus nas câmeras que o suportam, adicionados read/write-bytes de cambus com timings de I2C e pulada a aplicação do alfa quando ele é 0, por desempenho.
Correções de bugs¶
Câmera e imagem:
Corrigida e acelerada a correção de rotação, o bug de Bayer-para-YCbCr na borda esquerda e adicionada uma correção de borda em
bayer_to_y()/bayer_to_binary().
Ferramentas:
Corrigidos erros de Python 2/3 e a ordem de chamada de
get_statistics().
Mudanças incompatíveis de API¶
Quebras de API visíveis ao usuário entre v3.6.2 e v3.6.3. Escopo: C-modules Python em modules/ e bibliotecas Python em scripts/libraries/.
Cada mudança é marcada com seu impacto:
minor — API restrita; afeta apenas scripts que a usavam.
behavior — mesma API, resultados diferentes; reavalie scripts ajustados.
As mudanças estão agrupadas por impacto nessa ordem. Se você só quer portar seu código, vá direto para a lista de verificação de migração no final. Cada hash de commit aponta para o seu diff no GitHub.
Constantes de hint de image renomeadas (minor)¶
As constantes de hint de desenho de image foram renomeadas: image.INTERPOLATE_BILINEAR → image.IMAGE_HINT_BILINEAR e image.IMAGE_CENTER → image.IMAGE_HINT_CENTER. Scripts que passam os nomes antigos das constantes para draw_image() devem usar os novos nomes. (Elas são renomeadas novamente para image.BILINEAR / image.CENTER na v3.7.0.)
Commits: 8f8872537
Escala negativa de draw_image() removida (behavior)¶
image.draw_image() não suporta mais escala negativa, e o ponto de amostragem da textura foi movido para o centro do pixel. Scripts que dependiam da escala negativa para inverter uma imagem durante o desenho devem invertê-la de outra forma, e a saída pode deslocar-se em até meio pixel em relação a antes.
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 (o renomear das constantes de hint) e substitua qualquer escala negativa de draw_image() por uma inversão explícita (a mudança de escala do draw_image). Todos os outros scripts funcionam sem alterações.