6.20. Shrnutí¶
Tato kapitola pokryla ty části numpy a scipy, po kterých OpenMV aplikace sáhne, když operace nemá vestavěnou metodu v obrazové knihovně:
Koncepty – co je
ndarray, proč zabalený typovaný buffer poráží Pythonlistpro numerickou práci a sada dtypů, kterou kamera podporuje.Tvar a indexování – pohledy vs. kopie, přiřazení do řezu pro aktualizace bez alokace,
transpose()jako úprava deskriptoru.Matematika – operátory po prvcích, univerzální funkce jako
sin(), pravidla broadcastingu, redukce jakomean()a pomocné funkce pro výběr jakowhere().Lineární algebra –
dot()pro násobení matic,inv()/det()pro inverzi a rozklady a řešiče vnumpy.linalgascipy.linalgpro problémy s větší strukturou.Zpracování signálů –
fft(),sosfilt()pro digitální filtrování aspectrogram()pro spektra velikostí bez alokace ve streamovací smyčce.Křivky a integrace –
interp(),polyfit()/polyval(),convolve()pro krátké FIR filtry,trapz()pro lichoběžníkovou integraci vzorkovaných dat.Řešiče a náhodná čísla –
scipy.integratepro kvadraturu volatelné Python funkce,scipy.optimizepro hledání kořenů a minimalizaci,scipy.specialpro statistické speciální funkce aGeneratorpro pseudonáhodné vzorkování.Obrazy – můstek
to_ndarray()aimage.Imagepro vzácné případy, které obrazová knihovna nepokrývá.Výkon – malé dtypy, předem alokované buffery, operátory na místě, klíčové argumenty
out=a pozor na zbytečné vytváření boolovských masek ve streamovacích smyčkách.
Tím je pokryta obecná numerická práce, o kterou se opírá zbytek kamery. numpy je sada nástrojů, do které aplikace sáhne, když operace nemá vestavěnou metodu v Image – vlastní transformace pixelů, kalibrační výpočet, FFT bufferovaného zvuku.