6.20. Zusammenfassung¶
Das Kapitel behandelte die Teile von numpy und scipy, zu denen eine OpenMV-Anwendung greift, wenn eine Operation keine eingebaute Methode der Bildbibliothek hat:
Konzepte – was ein
ndarrayist, warum ein gepackter typisierter Puffer für numerische Arbeit eine Python-listschlägt und welche dtype-Menge die Kamera unterstützt.Form und Indizierung – Views vs. Kopien, Slice-Zuweisung für allokationsfreie Aktualisierungen,
transpose()als Deskriptor-Bearbeitung.Mathematik – elementweise Operatoren, universelle Funktionen wie
sin(), Broadcasting-Regeln, Reduktionen wiemean()und Auswahlhilfen wiewhere().Lineare Algebra –
dot()für die Matrixmultiplikation,inv()/det()für die Inverse sowie die Zerlegungen und Solver unternumpy.linalgundscipy.linalgfür Probleme mit mehr Struktur.Signalverarbeitung –
fft(),sosfilt()für die digitale Filterung undspectrogram()für allokationsfreie Betragsspektren in einer Streaming-Schleife.Kurven und Integration –
interp(),polyfit()/polyval(),convolve()für kurze FIR-Filter,trapz()für die Trapez-Integration abgetasteter Daten.Solver und Zufallszahlen –
scipy.integratefür die Quadratur einer aufrufbaren Python-Funktion,scipy.optimizefür Nullstellensuche und Minimierung,scipy.specialfür statistische spezielle Funktionen undGeneratorfür pseudozufällige Stichproben.Bilder – die Brücke
to_ndarray()undimage.Imagefür die seltenen Fälle, die die Bildbibliothek nicht abdeckt.Leistung – kleine dtypes, vorab allokierte Puffer, In-place-Operatoren,
out=-Schlüsselwörter und das Achten auf das Wiederholen von Boolean-Masken in Streaming-Schleifen.
Das deckt die generische numerische Arbeit ab, auf die sich der Rest der Kamera stützt. numpy ist der Werkzeugkasten, in den eine Anwendung greift, wenn eine Operation keine eingebaute Methode auf Image hat – eine benutzerdefinierte Pixeltransformation, eine Kalibrierungslösung, eine FFT von gepuffertem Audio.