Ali Ismael نشر 27 أكتوبر 2021 أرسل تقرير نشر 27 أكتوبر 2021 أنفذ بعض المهام في Matplotlib وأحتاج إلى طريقة تمكنني من عرض الصورة باستخدام الدالة imshow بالصيغة الرمادية؟ 1 اقتباس
1 Ali Haidar Ahmad نشر 27 أكتوبر 2021 أرسل تقرير نشر 27 أكتوبر 2021 يمكنك القيام بذلك بالشكل التالي: 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 Ahmed Sharshar نشر 28 أكتوبر 2021 أرسل تقرير نشر 28 أكتوبر 2021 يمكنك ببساطة إضافة 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 لنضمن انها في حيز الأبيض والأسود وتظهر كالتالي: يمكنك كذلك قراءة الرمادي بشكل معكوس يمكنك استخدام cmap='gray_r'. اما اذا أردتها أبيض وأسود يمكنك استخدام imshow(..., cmap=pyplot.cm.binary) اقتباس
السؤال
Ali Ismael
أنفذ بعض المهام في Matplotlib وأحتاج إلى طريقة تمكنني من عرض الصورة باستخدام الدالة imshow بالصيغة الرمادية؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.