Data Visualization

ترسيم المستطيلات على الصور باستخدام ماتبلوتليب

Spread the love

Matplotlib مكتبة بايثون متعددة الاستخدامات تشتهر بقدراتها على تصور البيانات. إلى جانب رسم البيانات، تتفوق في معالجة الصور، مما يسمح لك بفرض الأشكال مباشرة على الصور. يشرح هذا البرنامج التعليمي كيفية إضافة مستطيلات إلى الصور بكفاءة باستخدام Matplotlib.

جدول المحتويات

رسم المستطيلات في Matplotlib

قبل التعامل مع الصور، دعونا نتقن رسم المستطيلات على رسومات Matplotlib القياسية. هذه الخطوة الأساسية ضرورية لفهم عملية فرض الصور.

import matplotlib.pyplot as plt
import matplotlib.patches as patches

# إنشاء رسم و محاور
fig, ax = plt.subplots()

# تعريف المستطيل
rect = patches.Rectangle((0.1, 0.1), 0.5, 0.5, linewidth=1, edgecolor='r', facecolor='none')

# إضافة المستطيل إلى المحاور
ax.add_patch(rect)

# ضبط حدود المحور (اختياري)
ax.set_xlim([0, 1])
ax.set_ylim([0, 1])

# عرض الرسم
plt.show()

ينتج هذا الكود مستطيلًا بسيطًا. دعونا نقوم بتحليله:

  • matplotlib.pyplot as plt: يستورد مكتبة Matplotlib للرسم.
  • matplotlib.patches as patches: يستورد وحدة patches، التي تحتوي على أجسام الأشكال مثل المستطيلات.
  • patches.Rectangle((x, y), width, height): يُنشئ مستطيلًا. (x, y) تحدد الزاوية السفلية اليسرى؛ width و height يُحددان أبعاده. الإحداثيات مُعادلة (من 0 إلى 1).
  • linewidth, edgecolor, facecolor: تتحكم في مظهر المستطيل. facecolor='none' يُنشئ مخططًا فقط.
  • ax.add_patch(rect): يضيف المستطيل إلى المحاور.
  • ax.set_xlim() و ax.set_ylim(): ضبط حدود المحور السيني والصادي (اختياري، لتحسين التصور).

فرض المستطيلات على الصور

الآن، دعونا نوسع هذا لفرض المستطيلات على الصور. سنستخدم imread من Matplotlib لتحميل الصورة.

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.image as mpimg

# تحميل الصورة
img = mpimg.imread('your_image.jpg')  # استبدل بمسار صورتك

# إنشاء رسم و محاور
fig, ax = plt.subplots()

# عرض الصورة
ax.imshow(img)

# إنشاء مستطيل (إحداثيات بكسل)
rect = patches.Rectangle((100, 100), 150, 100, linewidth=2, edgecolor='b', facecolor='none')

# إضافة المستطيل إلى المحاور
ax.add_patch(rect)

# عرض الرسم
plt.show()

هذا مشابه للمثال السابق، ولكن:

  • mpimg.imread('your_image.jpg'): يحمل الصورة. تذكر استبدال 'your_image.jpg' بمسار صورتك.
  • ax.imshow(img): يعرض الصورة على المحاور.
  • إحداثيات المستطيل (100, 100) هي الآن بإحداثيات البكسل. اضبط هذه القيم لتحديد موضع المستطيل.

تتيح لك هذه الطريقة إضافة تعليقات توضيحية للصور بكفاءة. جرّب الإحداثيات والأحجام والألوان وعرض الخطوط لتخصيص مظهر المستطيل وموقعه. تذكر أن الإحداثيات نسبية لأبعاد بكسل الصورة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *