Menu
CoddyTech

תמונות כמערכים

חלק מהיחידה נתונים ותרשימים במסלול ה-Machine Learning של Coddy. שיעור 29 מתוך 60.

תמונה בשחור-לבן היא רשת של מספרים, מספר אחד המציין את הבהירות של כל פיקסל. לכן מערך דו־ממדי הוא תמונה, ו־ax.imshow מצייר אותה:

plus = np.array([[0, 0, 1, 0, 0],
                 [0, 0, 1, 0, 0],
                 [1, 1, 1, 1, 1],
                 [0, 0, 1, 0, 0],
                 [0, 0, 1, 0, 0]])
fig, ax = plt.subplots()
ax.imshow(plus, cmap="gray")
plt.show()

תמונה בגודל 5 על 5 של סימן פלוס לבן על רקע שחור, כאשר הערך של כל פיקסל מוצג: 1 על הצלב הלבן, 0 בפינות השחורות

cmap="gray" בוחר מפת צבעים בגווני אפור: הערך הקטן ביותר שחור, והגדול ביותר לבן. שורה 0 מוצגת למעלה, כפי שהמערך כתוב.

תמונות בדרך כלל מאחסנות ערכים מ-0 (שחור) עד 255 (לבן). בהמשך המסלול הזה, מודל קורא ספרות בכתב יד המאוחסנות בדיוק כך.

challenge icon

אתגר

בינוני

סורק קרא אות מודפסת אך שמר אותה הפוכה: דיו בהיר על נייר כהה. הרשימה המקוננת scan מכילה את הבהירות של כל פיקסל, מ-0 עד 255.

  1. המירו את scan למערך והפכו אותו: כל פיקסל הופך ל-255 פחות הערך שלו.
  2. ציירו אותו באמצעות מפת הצבעים האפורה, עם הכותרת Letter E, והציגו אותו.

התוצאה שלכם אמורה להיראות כך, כמו סריקה של L לאחר התיקון:

אות L שחורה קטנה על רקע לבן, בגובה 7 פיקסלים וברוחב 5 פיקסלים, שכותרתה Letter L

התוכנית שלכם לא מדפיסה דבר. Coddy מתארת את התמונה שלכם, שורה אחר שורה.

נסו בעצמכם

import numpy as np
import matplotlib.pyplot as plt

scan = [[255, 255, 255, 255, 255],
        [255, 30, 0, 0, 0],
        [255, 0, 0, 0, 0],
        [255, 255, 255, 200, 0],
        [255, 0, 0, 0, 0],
        [255, 0, 0, 0, 15],
        [255, 255, 255, 255, 255]]

# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה נתונים ותרשימים

תרגלו בעצמכם: קומפיילר Python אונליין