6.20. Recapitulare

Capitolul a acoperit părțile din numpy și scipy la care o aplicație OpenMV recurge atunci când o operație nu are o metodă încorporată în biblioteca de imagini:

  • Concepte – ce este un ndarray, de ce un tampon (buffer) tipizat și compact este superior unei list Python pentru muncă numerică și setul de dtype-uri pe care camera îl suportă.

  • Formă și indexare – vizualizări vs. copii, atribuire prin felie pentru actualizări fără alocare, transpose() ca editare de descriptor.

  • Matematică – operatori element cu element, funcții universale precum sin(), reguli de difuzare (broadcasting), reduceri precum mean() și funcții ajutătoare de selecție precum where().

  • Algebră liniarădot() pentru înmulțirea matricelor, inv() / det() pentru inversă și descompunerile și rezolvitoarele din numpy.linalg și scipy.linalg pentru probleme cu mai multă structură.

  • Procesarea semnalelorfft(), sosfilt() pentru filtrare digitală și spectrogram() pentru spectre de magnitudine fără alocare într-o buclă de tip flux.

  • Curbe și integrareinterp(), polyfit() / polyval(), convolve() pentru filtre FIR scurte, trapz() pentru integrarea trapezoidală a datelor eșantionate.

  • Rezolvitoare și numere aleatoarescipy.integrate pentru cuadratura unei funcții apelabile Python, scipy.optimize pentru găsirea rădăcinilor și minimizare, scipy.special pentru funcții statistice speciale și Generator pentru eșantionare pseudoaleatoare.

  • Imagini – puntea to_ndarray() și image.Image pentru cazurile rare pe care biblioteca de imagini nu le acoperă.

  • Performanță – dtype-uri mici, tampoane (buffer) prealocate, operatori pe loc, cuvinte-cheie out= și atenția la agitația măștilor booleene în buclele de tip flux.

Aceasta acoperă munca numerică generică pe care se sprijină restul camerei. numpy este trusa de instrumente în care o aplicație recurge atunci când o operație nu are o metodă încorporată pe Image – o transformare personalizată de pixeli, o rezolvare de calibrare, o FFT a unui semnal audio tamponat.