6.20. Podsumowanie¶
Rozdział omówił te części numpy i scipy, po które sięga aplikacja OpenMV, gdy dana operacja nie ma wbudowanej metody w bibliotece obrazów:
Pojęcia – czym jest
ndarray, dlaczego upakowany bufor typowany przewyższa Pythonowąlistw pracy numerycznej oraz jaki zestaw typów danych obsługuje kamera.Kształt i indeksowanie – widoki kontra kopie, przypisanie wycinka dla aktualizacji bez alokacji,
transpose()jako edycja deskryptora.Matematyka – operatory elementarne, funkcje uniwersalne takie jak
sin(), reguły rozgłaszania, redukcje takie jakmean()oraz funkcje pomocnicze do selekcji takie jakwhere().Algebra liniowa –
dot()do mnożenia macierzy,inv()/det()do odwracania oraz rozkłady i solwery znumpy.linalgiscipy.linalgdla problemów o większej strukturze.Przetwarzanie sygnałów –
fft(),sosfilt()do filtrowania cyfrowego orazspectrogram()do widm modułu bez alokacji w pętli strumieniowej.Krzywe i całkowanie –
interp(),polyfit()/polyval(),convolve()do krótkich filtrów FIR,trapz()do całkowania metodą trapezów danych próbkowanych.Solwery i liczby losowe –
scipy.integratedo kwadratury obiektu wywoływalnego Pythona,scipy.optimizedo wyznaczania miejsc zerowych i minimalizacji,scipy.specialdo statystycznych funkcji specjalnych orazGeneratordo próbkowania pseudolosowego.Obrazy – pomost
to_ndarray()iimage.Imagedla rzadkich przypadków, których biblioteka obrazów nie obejmuje.Wydajność – małe typy danych, wstępnie przydzielone bufory, operatory działające w miejscu, argumenty kluczowe
out=oraz uważanie na zamęt związany z maskami logicznymi w pętlach strumieniowych.
To obejmuje ogólną pracę numeryczną, na której opiera się reszta kamery. numpy jest skrzynką narzędziową, do której sięga aplikacja, gdy dana operacja nie ma wbudowanej metody w Image – własna transformacja pikseli, rozwiązanie kalibracji, FFT buforowanego dźwięku.