6.20. خلاصة¶
غطّى هذا الفصل أجزاء numpy و scipy التي يلجأ إليها تطبيق OpenMV عندما لا يكون للعملية طريقة مدمجة في مكتبة الصور:
المفاهيم -- ما هي
ndarray، ولماذا يتفوق مخزن مؤقت مُحزَّم ومُنمَّط علىlistفي Python للعمل العددي، ومجموعة أنواع البيانات التي تدعمها الكاميرا.الشكل والفهرسة -- العروض مقابل النسخ، وإسناد الشرائح للتحديثات الخالية من التخصيص، و
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 لصوت مُخزّن مؤقتًا.