Menu
CoddyTech
flag Ar iconالعربيةdown icon

الصور كمصفوفات

جزء من قسم البيانات والرسوم البيانية في رحلة 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 عبر الإنترنت