> 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-detections.md).

# Draw Detections

تعمل هذه الدالة على وضع نتائج الكشف فوق الصورة عن طريق رسم مستطيلات وإضافة نص حالة (OK / Nok) لكل كائن مكتشف. تُستخدم عادة كخطوة نهائية للعرض أو الفحص في سلسلة معالجة الرؤية.

## 📥 المدخلات

`Image` الصورة الأساسية التي سيتم رسم التراكبات عليها. (مأخذ إدخال)

`Coordinate_List` قائمة إحداثيات المستطيلات التي سيتم رسمها. كل عنصر يجب أن يكون زوج نقاط يحدد مستطيلًا. (مأخذ إدخال)

`Object_Count` قائمة العدّ/العلامات المطابقة لكل مستطيل. تُستخدم لتحديد حالة OK (أخضر) أو Nok (أحمر). (مأخذ إدخال)

`Trigger` قيمة منطقية لتمكين الرسم. عندما تكون غير مفعلة، لا يخرج البلوك أي نتيجة. (مأخذ إدخال)

## 📤 المخرجات

`Result Image` الصورة الناتجة مع المستطيلات والنصوص المرسومة. (مأخذ إخراج)

## 🕹️ الضوابط

ليس لدى هذا البلوك عناصر واجهة داخلية للتحكم. يُتحكم في سلوكه بالكامل عبر مآخذ الإدخال الخاصة به.

## 🎨 الميزات

* عرض بصري للحالة يرسم مستطيلات ملونة وتسميات نصية على الصورة المدخلة.
* ترميز لوني: أخضر لـ OK، أحمر لـ Nok — يتم تحديده من قيم `Object_Count` المقابلة.
* يتعامل مع اكتشافات متعددة في نفس الوقت عن طريق التكرار عبر قوائم الإحداثيات والعدادات.
* يصدر تحذيرات عند عدم تطابق أطوال القوائم أو عند وجود بيانات إحداثيات غير صالحة.
* يتطلب `Trigger` مفعّلًا لإنتاج مخرج؛ وإلا فلن ينتج أي نتيجة.

## ⚙️ آلية التشغيل

* عندما يستقبل البلوك بيانات ويكون مدخل `Trigger` قيمته True، يقوم بنسخ `Image` المقدم ويرسم مستطيلاً واحدًا لكل عنصر في `Coordinate_List`.
* لكل مستطيل، يتحقق البلوك من القيمة المقابلة في `Object_Count`. إذا كانت القيمة تشير إلى وجود (غير صفرية)، يرسم المستطيل والنص باللون الأخضر مع النص "Ok". إذا كانت القيمة صفرية أو مفقودة، يرسمهما بالأحمر مع النص "Nok".
* إذا اختلف عدد الإحداثيات وعدد العدّات، سيعرض البلوك تحذيرًا ويقوم بالإقران باستخدام أقصر طول. يتم تخطي مدخلات الإحداثيات غير الصالحة مع تحذير.
* تُرسل الصورة المعلّمة النهائية عبر مخرج `Result Image`.

## 📝 تعليمات الاستخدام

1. أدخل صورة المصدر إلى `Image`.
2. قدّم قوائم مطابقة إلى `Coordinate_List` و`Object_Count` (يفضل أن تكون بنفس الطول).
3. فعّل `Trigger` لتوليد صورة النتيجة المعلّمة.
4. وصل `Result Image` إلى بلوك عرض أو حفظ لمعاينة أو حفظ الإطارات المعلّمة.

## 💡 نصائح وحِيَل

* استخدم `Object Detection` أو `Object Detection - Custom` (أو `Object Detection (D-FINE)`) لإنتاج قوائم المستطيلات والعدادات، ثم وصل مخرجات المستطيلات والعدادات إلى `Coordinate_List` و`Object_Count`.
* ادمجه مع `Object_Detection_Tracker` لرسم مستطيلات متتبعة بمواقع متسقة؛ وصل مخرجات المستطيلات المتتبعة إلى هذا البلوك للحصول على تراكب OK/Nok لكل كائن.
* استخدم `Rectangles in Rectangle` أو `Check Area` لتصفية الاكتشافات قبل الرسم (استبعاد الاكتشافات خارج منطقة الاهتمام).
* عاين النتائج عبر `Show Image` واحفظها باستخدام `Image Logger` أو `Image Write` للرجوع إليها لاحقًا.
* تحكّم بوقت ظهور التعليقات باستخدام `Logic Input` أو كاشفات الحواف مثل `Rising Edge` بحيث ترسم فقط على الإطارات المختارة.
* إذا كنت تريد رسم مستطيلات مفردة مباشرة، ففكّر في استخدام `Draw Rectangle`؛ استخدم هذا البلوك عند وجود اكتشافات متعددة ورغبتك بعلامات OK/Nok آلية.

## 🛠️ استكشاف الأخطاء وإصلاحها

* لا مخرج: تأكّد أن `Trigger` قيمته True وأنه متصل بصور صحيحة في `Image`.
* قوائم غير متطابقة: إذا اختلف طولا `Coordinate_List` و`Object_Count` سترى تحذيرات وقد يتم تجاهل بعض العناصر — تأكد من أن البلوك السابق يصدر قوائم متراصفة.
* إحداثيات غير صالحة: إذا كانت مدخلات الإحداثيات بصيغة خاطئة فسيتخطاها البلوك ويصدر تحذيرًا؛ تحقق من صيغة الإخراج القادمة من بلوكات الكشف.
* للحفاظ على النتائج أو معاينتها إطارًا بإطار، وصل `Result Image` إلى `Show Image` أو إلى بلوكات الحفظ مثل `Image Logger`.
