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 של שמע בחוצץ.