اذهب إلى المحتوى
  • 0

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

Ali Ismael

السؤال

Recommended Posts

  • 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.

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

  • 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)

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...