> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/detections-shapes/draw/draw-rectangle.md).

# Draw Rectangle

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

## 📥 المدخلات <a href="#inputs" id="inputs"></a>

`Image Any` الصورة المصدر التي سيتم رسم المستطيلات عليها (مطلوب).

`Rectangle` مستطيل واحد أو قائمة من المستطيلات. يُعرَّف كل مستطيل بنقطة أعلى-يسار ونقطة أسفل-يمين بصيغة ((x0, y0), (x1, y1)) (مطلوب). يدعم إدخال عدة مستطيلات.

`Status` قيمة منطقية واحدة أو قائمة من القيم المنطقية اختيارية. `True` يرسم باللون الأخضر، و`False` يرسم باللون الأحمر. إذا لم يتم توفيرها، يتم افتراض `True` (أخضر). عند توفير عدة مستطيلات، يمكنك تزويد قائمة من حالات المطابقة.

## 📤 المخرجات <a href="#outputs" id="outputs"></a>

`Image Any` نسخة من الصورة المصدر مع المستطيلات مرسومة عليها (الصورة الأصلية لا تتغير).

## 🕹️ عناصر التحكم <a href="#controls" id="controls"></a>

لا يحتوي هذا الدالة على عناصر واجهة تفاعلية؛ السلوك يعتمد كليًا على مآخذ (sockets) المدخلات.

## 🎨 الميزات <a href="#features" id="features"></a>

* يرسم مستطيل واحد أو متعدد مع تمييز ألوان واضح (أخضر/أحمر) لحالة كل مستطيل.
* يقبل مستطيلًا واحدًا أو قائمة من المستطيلات.
* يقبل حالة واحدة أو قائمة من الحالات؛ عند عدم التحديد تكون الحالة الافتراضية `True` (أخضر).
* يُرجع نسخة مشروحة من الصورة بحيث تظل الصور الممررة للأعلى (upstream) دون تغيير.
* يستخدم سمك خط مرئي مناسب للفحص على أحجام الصور العادية.

## 📝 تعليمات الاستخدام <a href="#usage" id="usage"></a>

1. قم بتزويد صورة إلى مدخل `Image Any`.
2. زود مستطيلًا واحدًا أو قائمة من المستطيلات إلى مدخل `Rectangle` بصيغة ((x0, y0), (x1, y1)).
3. اختياريًا زوّد قيمة منطقية أو قائمة قيم منطقية إلى مدخل `Status` للتحكم بألوان المستطيلات.
4. اقرأ الصورة المشروحة من مخرج `Image Any` واصلها إلى عارضات، مسجلات، أو دوال معالجة لاحقة.

## 📊 التقييم <a href="#evaluation" id="evaluation"></a>

عند التنفيذ، يقوم البلوك بنسخ الصورة الواردة، يرسم كل مستطيل مزود باللون الأخضر إذا كانت حالته `True` وبالأحمر إذا كانت `False` (الافتراضي أخضر)، ثم يعيد الصورة المشروحة. المدخلات المفردة تُعطي صورة مشروحة واحدة؛ وقوائم المستطيلات تُطبَّق على كل مستطيل بنفس السلوك.

## 💡 نصائح وحيل <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* لتصور نتائج الاكتشاف: مرّر صناديق الحدود الناتجة من `Find Object` أو `Object Detection` إلى مدخل `Rectangle` وما إذا أضفت تلوينًا حسب الحالة باستخدام `Status`.
* للأجسام المتتبعة، اربط مخرجات المتعقب مثل `Object_Detection_Tracker` لرسم مستطيلات مستمرة مع معرفات وحالات.
* قم بفلترة المناطق مسبقًا باستخدام `Image ROI Select` قبل الرسم لتقييد التعليقات التوضيحية بمنطقة مُقتطعة.
* اجمع مع `Rectangles in Rectangle` لتصفية الاكتشافات غير المرغوب بها ورسم المستطيلات التي تقع داخل منطقة مرجعية فقط.
* استخدم `Draw Detections` أو `Draw Result On Image` إذا احتجت تسميات نصية أو تراكبات كشف مُنظَّمة بالإضافة إلى المستطيلات.
* أرسل الصورة المشروحة إلى `Show Image` للفحص السريع أو إلى `Image Logger` / `Image Write` لحفظ الإطارات المشروحة للتدقيق والتقارير.

## 🛠️ استكشاف الأخطاء وإصلاحها <a href="#troubleshooting" id="troubleshooting"></a>

* المستطيلات غير مرئية: تأكد من ترتيب الإحداثيات وأنها ضمن حدود الصورة ((x0, y0), (x1, y1)).
* ألوان غير متوقعة: تأكد أن مدخل `Status` يطابق عدد المستطيلات أو زود قيمة منطقية واحدة لتطبيقها على الكل.
* تداخل التعليقات يجعل العرض مزدحمًا: جرّب الرسم على منطقة مقطوعة أو استخدم مستطيلات أقل وأكبر ناتجة من معالجة أولية مثل `Find Object` مع تصفية المساحة.
* إذا احتجت تسميات أو تعداد بجانب المستطيلات، أضف `Write Text On Image` أو `Draw Result On Image` بعده.
