v1.6.0

A v1.6.0 adiciona um módulo Time-of-Flight (tof), image.find_displacement() (fluxo ótico por correlação de fase FFT), uma API de pooling de imagem, sensor.set_windowing(), e opções de pesquisa em image.find_template(). A função find_template() passa agora a aplicar a sua ROI — leia as alterações incompatíveis abaixo.

Destaques

  • Módulo tof — suporte para sensor de distância Time-of-Flight.

  • image.find_displacement() — correlação de fase FFT (fluxo ótico).

  • Poolingmidpoint_pool() / mean_pool() e variantes com pooling.

  • sensor.set_windowing() — janelamento/binning do sensor, com novos tamanhos de fotograma de baixa resolução.

  • find_template() — adicionadas opções step / search (SEARCH_EX / SEARCH_DS) / roi.

  • Incompatível: image.find_template() aplica agora uma ROI válida — consulte as alterações incompatíveis.

Novas funcionalidades

  • tof — adicionado um módulo Time-of-Flight com tof.init() / tof.deinit() / tof.read_frame() / tof.draw_frame() / tof.write_reg() (suporte para sensor ToF por I2C).

  • image.find_displacement() — adicionado deslocamento por correlação de fase FFT (com subpixel e qualidade do resultado), com um exemplo de fluxo ótico.

  • Pooling — adicionados Image.midpoint_pool() / midpoint_pooled() / mean_pool() / mean_pooled().

  • sensor.set_windowing((x, y, w, h)) — janelamento/binning do sensor, com novos tamanhos de fotograma sensor.B40x30 / B64x32 / B64x64 para fluxo ótico.

  • image.find_template() — adicionados os argumentos de palavra-chave step, search (image.SEARCH_EX predefinido / image.SEARCH_DS pesquisa rápida em diamante), e roi.

  • Image.copy_to_fb() — copia uma imagem para o buffer de fotograma (com um deslocamento opcional (x, y)) e um exemplo copy2fb.py.

Outras alterações e melhorias

  • A pesquisa em diamante de find_template() refina o passo com maior precisão (mais rigorosa, mais lenta); o binning ativa-se automaticamente para tamanhos de fotograma acima de VGA no OpenMV 2; o zoom/escala automático está desativado em VGA no OV7725.

Correções de erros

  • Corrigidos os cálculos da imagem integral e da imagem integral quadrática (afetando a precisão do Haar / característica / correspondência de modelo), a FFT 1D/2D e a correlação de fase, e o redimensionamento do buffer de fotograma durante o pooling in-place.

Hardware e suporte a placas

  • Sensor de distância Time-of-Flight (ToF) por I2C.

  • Novos tamanhos de fotograma de baixa resolução (B40x30 / B64x32 / B64x64) para fluxo ótico.

Alterações incompatíveis na API

Quebras de API visíveis pelo utilizador entre v1.5.0 e v1.6.0. Âmbito: módulos C Python em modules/ e bibliotecas Python em scripts/libraries/.

A alteração incompatível é uma alteração de comportamento (mesma API, resultado diferente) — verifique novamente os scripts afetados. Cada hash de commit contém uma ligação para o diff no GitHub.

image.find_template() aplica a sua ROI (comportamento)

image.find_template() valida agora a sua região de interesse e lança uma exceção («Region of interest is bigger than image!») quando a ROI está ausente/demasiado grande ou é menor do que o modelo. Passe uma roi=(x, y, w, h) válida que seja pelo menos do tamanho do modelo e caiba dentro da imagem.

Commits: a25e0c162

Lista de verificação de migração

Passe uma roi válida (≥ tamanho do modelo, dentro da imagem) para image.find_template() (a alteração de find_template). Todos os outros scripts funcionam sem alterações.