6.20. Підсумок¶
Розділ охопив частини numpy та scipy, до яких звертається застосунок OpenMV, коли операція не має вбудованого методу бібліотеки зображень:
Концепції – що таке
ndarray, чому упакований типізований буфер перевершуєlistPython для числових обчислень, і набір типів даних, що підтримує камера.Форма та індексування – представлення проти копій, присвоєння зрізу для оновлень без виділення пам’яті,
transpose()як редагування дескриптора.Математика – поелементні оператори, універсальні функції на кшталт
sin(), правила мовлення, скорочення на кшталтmean(), та допоміжні функції вибору на кшталтwhere().Лінійна алгебра –
dot()для множення матриць,inv()/det()для оберненої матриці, та розкладання й солвери вnumpy.linalgтаscipy.linalgдля задач з більшою структурою.Обробка сигналів –
fft(),sosfilt()для цифрової фільтрації, таspectrogram()для амплітудних спектрів без виділення пам’яті у потоковому циклі.Криві та інтегрування –
interp(),polyfit()/polyval(),convolve()для коротких FIR-фільтрів,trapz()для трапецієподібного інтегрування дискретизованих даних.Солвери та випадкові числа –
scipy.integrateдля квадратури виклику Python,scipy.optimizeдля пошуку коренів та мінімізації,scipy.specialдля статистичних спеціальних функцій, таGeneratorдля псевдовипадкової вибірки.Зображення – міст
to_ndarray()таimage.Imageдля рідкісних випадків, коли бібліотека зображень не охоплює потрібну операцію.Продуктивність – малі типи даних, попередньо виділені буфери, оператори на місці, ключові слова
out=, та увага до витрат на булеві маски в потокових циклах.
Це охоплює загальну числову роботу, на яку спирається решта функціональності камери. numpy – це інструментарій, до якого звертається застосунок, коли операція не має вбудованого методу Image – нестандартне перетворення пікселів, солвер для калібрування, FFT буферизованого аудіо.