6.20. Récapitulatif

Ce chapitre a couvert les parties de numpy et scipy auxquelles une application OpenMV recourt lorsqu’une opération n’a pas de méthode intégrée dans la bibliothèque d’images :

  • Concepts – ce qu’est un ndarray, pourquoi un tampon typé compact surpasse une list Python pour le travail numérique, et l’ensemble de dtypes que la caméra prend en charge.

  • Forme et indexation – vues vs. copies, affectation par tranche pour des mises à jour sans allocation, transpose() comme modification de descripteur.

  • Mathématiques – opérateurs élément par élément, fonctions universelles comme sin(), règles de diffusion, réductions comme mean(), et fonctions de sélection comme where().

  • Algèbre linéairedot() pour la multiplication matricielle, inv() / det() pour l’inverse, et les décompositions et solveurs de numpy.linalg et scipy.linalg pour les problèmes plus structurés.

  • Traitement du signalfft(), sosfilt() pour le filtrage numérique, et spectrogram() pour des spectres de magnitude sans allocation dans une boucle de traitement en continu.

  • Courbes et intégrationinterp(), polyfit() / polyval(), convolve() pour de courts filtres FIR, trapz() pour l’intégration trapézoïdale de données échantillonnées.

  • Solveurs et nombres aléatoiresscipy.integrate pour la quadrature d’une fonction appelable Python, scipy.optimize pour la recherche de racine et la minimisation, scipy.special pour les fonctions spéciales statistiques, et Generator pour l’échantillonnage pseudo-aléatoire.

  • Images – le pont to_ndarray() et image.Image pour les rares cas que la bibliothèque d’images ne couvre pas.

  • Performance – petits dtypes, tampons pré-alloués, opérateurs en place, mots-clés out=, et vigilance face au remaniement des masques booléens dans les boucles de traitement en continu.

Cela couvre le travail numérique générique sur lequel s’appuie le reste de la caméra. numpy est la boîte à outils dans laquelle une application puise lorsqu’une opération n’a pas de méthode intégrée sur Image – une transformation de pixels personnalisée, une résolution de calibration, une FFT d’audio mis en tampon.