6.20. Afronding¶
Dit hoofdstuk behandelde de delen van numpy en scipy waar een OpenMV-toepassing naar grijpt wanneer een bewerking geen ingebouwde methode in de afbeeldingsbibliotheek heeft:
Concepten – wat een
ndarrayis, waarom een gepakte getypeerde buffer een Python-listverslaat voor numeriek werk, en de dtype-set die de camera ondersteunt.Vorm en indexering – views vs. kopieën, slice-toewijzing voor allocatievrije updates,
transpose()als een descriptorbewerking.Wiskunde – elementgewijze operatoren, universele functies zoals
sin(), broadcasting-regels, reducties zoalsmean(), en selectiehulpfuncties zoalswhere().Lineaire algebra –
dot()voor matrixvermenigvuldiging,inv()/det()voor de inverse, en de decomposities en solvers ondernumpy.linalgenscipy.linalgvoor problemen met meer structuur.Signaalverwerking –
fft(),sosfilt()voor digitaal filteren, enspectrogram()voor allocatievrije magnitudespectra in een streaming-lus.Curves en integratie –
interp(),polyfit()/polyval(),convolve()voor korte FIR-filters,trapz()voor trapeziumintegratie van bemonsterde data.Solvers en willekeurige getallen –
scipy.integratevoor kwadratuur van een Python-callable,scipy.optimizevoor het vinden van wortels en minimaliseren,scipy.specialvoor statistische speciale functies, enGeneratorvoor pseudo-willekeurige bemonstering.Afbeeldingen – de brug via
to_ndarray()enimage.Imagevoor de zeldzame gevallen die de afbeeldingsbibliotheek niet dekt.Prestaties – kleine dtypes, vooraf gealloceerde buffers, in-place operatoren,
out=-trefwoorden, en uitkijken voor boolean-mask-churn in streaming-lussen.
Dat dekt het generieke numerieke werk waar de rest van de camera op leunt. numpy is de gereedschapskist waar een toepassing in grijpt wanneer een bewerking geen ingebouwde methode op Image heeft – een aangepaste pixeltransformatie, een kalibratie-oplossing, een FFT van gebufferde audio.