• 0

عرض الصورة بالصيغة الرمادية باستخدام الدالة imshow من Matplotlib في بايثون

أنفذ بعض المهام في Matplotlib  وأحتاج إلى طريقة تمكنني من عرض الصورة باستخدام الدالة imshow بالصيغة الرمادية؟
 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يمكنك القيام بذلك بالشكل التالي:

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
# مسار الصورة
path = r"/content/test.jpg"
# PIL فتح الصورة من خلال الحزمة
image = Image.open(path)
# عرضها
plt.imshow(image)
plt.show()

الآن لعرض صورة بالتدرج الرمادي نفتح الصورة باستخدام الدالة open من الحزمة PIL ونقوم بتحويلها إلى الوضع L  من خلال الدالة convert  وهذا يعني أنها صورة ذات قناة واحدة أي تفسر على أنها تدرج رمادي. يخزن فقط التدرج الرمادي وليس اللون. ثم نقوم برسم الصورة من خلال الدالة imshow مع ضبط الخريطة اللونية  cmap على "gray":

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
# مسار الصورة
path = r"/content/test.jpg"
# PIL فتح الصورة من خلال الحزمة
image = Image.open(path).convert("L")
# عرضها بالصيغة الرمادية
plt.imshow(image, cmap='gray')
plt.show()

وإذا كنت تريد عرض عكس التدرج الرمادي ، فقم بضبط cmap على gray_r.

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يمكنك ببساطة إضافة cmap='gray' كمعامل داخل Imshow كالتالي:

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

fname = 'image.png'
image = Image.open(fname).convert("L")
arr = np.asarray(image)
plt.imshow(arr, cmap='gray', vmin=0, vmax=255)
plt.show()

لاحظ اننا حددنا أقل قيمة للبيكسل ب 0 وأعلى قيمة ب 255 لنضمن انها في حيز الأبيض والأسود وتظهر كالتالي:

grey.jpg.0e6f7c3b3a3db3e0a90e6634d28659a9.jpg

يمكنك كذلك قراءة الرمادي بشكل معكوس يمكنك استخدام cmap='gray_r'.

اما اذا أردتها أبيض وأسود يمكنك استخدام imshow(..., cmap=pyplot.cm.binary)

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن