6.20. Encerramento¶
Este capítulo cobriu as partes de numpy e scipy às quais uma aplicação OpenMV recorre quando uma operação não tem um método embutido na biblioteca de imagens:
Conceitos – o que é um
ndarray, por que um buffer tipado e compactado supera umalistPython para trabalho numérico e o conjunto de dtypes que a câmera suporta.Forma e indexação – visualizações vs. cópias, atribuição por fatia para atualizações sem alocação,
transpose()como uma edição de descritor.Matemática – operadores elemento a elemento, funções universais como
sin(), regras de broadcasting, reduções comomean()e auxiliares de seleção comowhere().Álgebra linear –
dot()para multiplicação de matrizes,inv()/det()para a inversa, e as decomposições e solucionadores emnumpy.linalgescipy.linalgpara problemas com mais estrutura.Processamento de sinais –
fft(),sosfilt()para filtragem digital espectrogram()para espectros de magnitude sem alocação em um laço de streaming.Curvas e integração –
interp(),polyfit()/polyval(),convolve()para filtros FIR curtos,trapz()para integração trapezoidal de dados amostrados.Solucionadores e números aleatórios –
scipy.integratepara quadratura de um callable Python,scipy.optimizepara busca de raízes e minimização,scipy.specialpara funções especiais estatísticas eGeneratorpara amostragem pseudoaleatória.Imagens – a ponte
to_ndarray()eimage.Imagepara os casos raros que a biblioteca de imagens não cobre.Desempenho – dtypes pequenos, buffers pré-alocados, operadores in-place, palavras-chave
out=e atenção à rotatividade de máscaras booleanas em laços de streaming.
Isso cobre o trabalho numérico genérico no qual o restante da câmera se apoia. numpy é a caixa de ferramentas na qual uma aplicação mergulha quando uma operação não tem um método embutido em Image – uma transformação de pixel personalizada, uma resolução de calibração, uma FFT de áudio em buffer.