6.20. Tổng kết¶
Chương này đã đề cập đến các phần của numpy và scipy mà một ứng dụng OpenMV sử dụng khi một thao tác không có phương thức thư viện ảnh tích hợp:
Khái niệm --
ndarraylà gì, tại sao một bộ đệm có kiểu dữ liệu chặt chẽ hiệu quả hơnlistPython cho công việc số, và tập dtype mà camera hỗ trợ.Hình dạng và lập chỉ mục -- views so với bản sao, gán slice để cập nhật không cấp phát,
transpose()như một chỉnh sửa bộ mô tả.Toán học -- toán tử từng phần tử, các hàm phổ dụng như
sin(), quy tắc phát sóng, các phép rút gọn nhưmean(), và các hàm lựa chọn nhưwhere().Đại số tuyến tính --
dot()cho nhân ma trận,inv()/det()cho nghịch đảo, và các phép phân tích và bộ giải trongnumpy.linalgvàscipy.linalgcho các bài toán có nhiều cấu trúc hơn.Xử lý tín hiệu --
fft(),sosfilt()để lọc số, vàspectrogram()cho phổ biên độ không cấp phát trong vòng lặp truyền phát.Đường cong và tích phân --
interp(),polyfit()/polyval(),convolve()cho bộ lọc FIR ngắn,trapz()để tích phân hình thang của dữ liệu được lấy mẫu.Bộ giải và số ngẫu nhiên --
scipy.integratecho cầu phương hàm có thể gọi Python,scipy.optimizeđể tìm nghiệm và cực tiểu,scipy.specialcho các hàm đặc biệt thống kê, vàGeneratorđể lấy mẫu giả ngẫu nhiên.Ảnh -- cầu nối
to_ndarray()vàimage.Imagecho các trường hợp hiếm gặp mà thư viện ảnh không bao trùm.Hiệu suất -- dtype nhỏ, bộ đệm được cấp phát trước, toán tử tại chỗ, từ khóa
out=, và chú ý đến sự biến động của mặt nạ boolean trong các vòng lặp truyền phát.
Đó là phần bao trùm công việc số tổng quát mà phần còn lại của camera dựa vào. numpy là hộp công cụ mà ứng dụng dùng đến khi một thao tác không có phương thức tích hợp trên Image -- một phép biến đổi điểm ảnh tùy chỉnh, một phép giải hiệu chỉnh, một FFT của âm thanh trong bộ đệm.