6.20. สรุป¶
บทนี้ครอบคลุมส่วนต่าง ๆ ของ numpy และ scipy ที่แอปพลิเคชัน OpenMV ใช้เมื่อการดำเนินการไม่มีวิธีในไลบรารีภาพในตัว:
แนวคิด --
ndarrayคืออะไร ทำไมบัฟเฟอร์แบบมีประเภทและบรรจุแน่นจึงดีกว่า Pythonlistสำหรับงานตัวเลข และชุด dtype ที่กล้องรองรับรูปร่างและการทำดัชนี -- views กับ copies การกำหนดค่าสไลซ์สำหรับการอัปเดตโดยไม่จัดสรรหน่วยความจำ
transpose()ในฐานะการแก้ไข descriptorคณิตศาสตร์ -- ตัวดำเนินการเชิงองค์ประกอบ ฟังก์ชันสากลเช่น
sin()กฎการออกอากาศ การลดขนาดเช่นmean()และตัวช่วยการเลือกเช่นwhere()พีชคณิตเชิงเส้น --
dot()สำหรับการคูณเมทริกซ์inv()/det()สำหรับอินเวอร์ส และการแยกส่วนประกอบและตัวแก้สมการภายใต้numpy.linalgและscipy.linalgสำหรับปัญหาที่มีโครงสร้างมากขึ้นการประมวลผลสัญญาณ --
fft(),sosfilt()สำหรับการกรองดิจิทัล และspectrogram()สำหรับสเปกตรัมขนาดโดยไม่จัดสรรหน่วยความจำในลูปการสตรีมเส้นโค้งและการอินทิเกรต --
interp(),polyfit()/polyval(),convolve()สำหรับตัวกรอง FIR สั้นtrapz()สำหรับการอินทิเกรตแบบ trapezoidal ของข้อมูลที่สุ่มตัวอย่างตัวแก้สมการและตัวเลขสุ่ม --
scipy.integrateสำหรับ quadrature ของ Python callablescipy.optimizeสำหรับการหารากและการหาค่าต่ำสุดscipy.specialสำหรับฟังก์ชันพิเศษทางสถิติ และGeneratorสำหรับการสุ่มตัวอย่างเทียมภาพ -- สะพาน
to_ndarray()และimage.Imageสำหรับกรณีที่พบไม่บ่อยที่ไลบรารีภาพไม่ครอบคลุมประสิทธิภาพ -- dtype ขนาดเล็ก บัฟเฟอร์ที่จัดสรรล่วงหน้า ตัวดำเนินการ in-place คีย์เวิร์ด
out=และระวัง boolean-mask churn ในลูปการสตรีม
นั่นครอบคลุมงานตัวเลขทั่วไปที่กล้องส่วนที่เหลือพึ่งพา numpy คือกล่องเครื่องมือที่แอปพลิเคชันหยิบใช้เมื่อการดำเนินการไม่มีวิธีในตัวบน Image เช่น การแปลงพิกเซลแบบกำหนดเอง การแก้สมการการสอบเทียบ หรือ FFT ของเสียงที่บัฟเฟอร์ไว้