6.20. Kesimpulan

Bab ini mencakup bagian-bagian dari numpy dan scipy yang digunakan aplikasi OpenMV ketika suatu operasi tidak memiliki metode pustaka citra bawaan:

  • Konsep -- apa itu ndarray, mengapa buffer bertipe padat lebih baik dari list Python untuk pekerjaan numerik, dan set dtype yang didukung kamera.

  • Bentuk dan pengindeksan -- view vs. salinan, penugasan slice untuk pembaruan bebas alokasi, transpose() sebagai pengeditan deskriptor.

  • Matematika -- operator element-wise, fungsi universal seperti sin(), aturan broadcasting, reduksi seperti mean(), dan pembantu seleksi seperti where().

  • Aljabar linear -- dot() untuk perkalian matriks, inv() / det() untuk invers, serta dekomposisi dan solver di bawah numpy.linalg dan scipy.linalg untuk masalah dengan struktur lebih.

  • Pemrosesan sinyal -- fft(), sosfilt() untuk filtering digital, dan spectrogram() untuk spektrum magnitudo bebas alokasi dalam loop streaming.

  • Kurva dan integrasi -- interp(), polyfit() / polyval(), convolve() untuk filter FIR pendek, trapz() untuk integrasi trapesium dari data yang disampling.

  • Solver dan angka acak -- scipy.integrate untuk kuadratur callable Python, scipy.optimize untuk pencarian akar dan minimisasi, scipy.special untuk fungsi khusus statistik, dan Generator untuk sampling pseudo-random.

  • Citra -- jembatan to_ndarray() dan image.Image untuk kasus langka yang tidak dicakup oleh pustaka citra.

  • Kinerja -- dtype kecil, buffer yang sudah dialokasikan, operator in-place, kata kunci out=, dan waspada terhadap churn boolean-mask dalam loop streaming.

Itulah yang mencakup pekerjaan numerik generik yang diandalkan oleh bagian lain kamera. numpy adalah kotak alat yang digunakan aplikasi ketika suatu operasi tidak memiliki metode bawaan pada Image -- transformasi piksel kustom, penyelesaian kalibrasi, FFT dari audio yang di-buffer.