6.20. סיכום¶
הפרק כיסה את החלקים של numpy ו-scipy שיישום OpenMV מושיט אליהם יד כאשר לפעולה אין מתודה מובנית בספריית התמונות:
מושגים – מהו
ndarray, מדוע חוצץ ארוז וטיפוסי עדיף עלlistשל Python לעבודה נומרית, וקבוצת ה-dtype שהמצלמה תומכת בה.צורה ואינדוקס – תצוגות לעומת עותקים, השמת פרוסות לעדכונים נטולי הקצאה,
transpose()כעריכת מתאר (descriptor).מתמטיקה – אופרטורים איבר-איבר, פונקציות אוניברסליות כמו
sin(), חוקי שידור (broadcasting), צמצומים כמו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עבור המקרים הנדירים שספריית התמונות אינה מכסה.ביצועים – dtypes קטנים, חוצצים שהוקצו מראש, אופרטורים במקום, מילות מפתח
out=, ושמירה על ערנות לתחלופת מסכות בוליאניות בלולאות זרימה.
זה מכסה את העבודה הנומרית הכללית שעליה נשענת שאר המצלמה. numpy הוא ארגז הכלים שיישום מושיט אליו יד כאשר לפעולה אין מתודה מובנית ב-Image – טרנספורם פיקסלים מותאם אישית, פתרון כיול, FFT של שמע בחוצץ.