6.20. Összefoglalás

A fejezet a numpy és a scipy azon részeit tárgyalta, amelyekhez egy OpenMV-alkalmazás nyúl, amikor egy műveletnek nincs beépített képkönyvtár-metódusa:

  • Fogalmak – mi az ndarray, miért jobb egy csomagolt, típusos puffer a Python list-nél a numerikus munkához, és milyen dtype-halmazt támogat a kamera.

  • Alak és indexelés – nézetek vs. másolatok, szeletértékadás a lefoglalás nélküli frissítésekhez, a transpose() mint leíró-szerkesztés.

  • Matematika – elemenkénti operátorok, univerzális függvények, mint a sin(), broadcasting szabályok, redukciók, mint a mean(), és kiválasztó segédfüggvények, mint a where().

  • Lineáris algebradot() a mátrixszorzáshoz, inv() / det() az inverzhez, valamint a numpy.linalg és a scipy.linalg alatti felbontások és megoldók a több struktúrával rendelkező problémákhoz.

  • Jelfeldolgozásfft(), sosfilt() a digitális szűréshez, és spectrogram() a lefoglalás nélküli magnitúdóspektrumokhoz egy folyamatos ciklusban.

  • Görbék és integrálásinterp(), polyfit() / polyval(), convolve() rövid FIR-szűrőkhöz, trapz() mintavételezett adatok trapéz szabály szerinti integrálásához.

  • Megoldók és véletlenszámokscipy.integrate egy Python hívható objektum kvadratúrájához, scipy.optimize gyökkereséshez és minimalizáláshoz, scipy.special statisztikai speciális függvényekhez, és Generator a pszeudovéletlen mintavételezéshez.

  • Képek – a to_ndarray() és az image.Image híd azokra a ritka esetekre, amelyeket a képkönyvtár nem fed le.

  • Teljesítmény – kis dtype-ok, előre lefoglalt pufferek, helyben módosító operátorok, out= kulcsszavak, és a boolean-maszk kavargásának figyelése a folyamatos ciklusokban.

Ez lefedi azt az általános numerikus munkát, amelyre a kamera többi része támaszkodik. A numpy az az eszközkészlet, amelybe egy alkalmazás belenyúl, amikor egy műveletnek nincs beépített metódusa az Image-en – egy egyedi képpont-transzformáció, egy kalibrációs megoldás, egy pufferelt audió FFT-je.