> 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/detectors/line-detector.md).

# Line Detector

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

## 📥 Inputs

`Image Any` الصورة التي سيتم تحليلها بحثًا عن تراكيب الخطوط (ملونة أو رمادية).

## 📤 Outputs

`Lined Image` صورة تُظهر الخطوط المكتشفة مرسومةً عليها.

`Histogram Image` صورة الهيستوجرام لقيم الشدة مع إمكانية تراكب إحصائيات الخط المحدد.

`Number of Lines` عدد الخطوط المكتشفة بعد أي تطبيق لعمليات التصفية.

`Selected Line` خط واحد مُحدد (شكل) تم اختياره وفقًا لوضع اختيار الخط المحدد.

`Lines` جميع الخطوط المكتشفة (أشكال)، معادةً كقائمة عند الاقتضاء.

## 🕹️ Controls

`Preferred Angle` اختر الاتجاه (بالدرجات) الذي تهتم به أكثر (0–180). هذا يوجه الاكتشاف ليناسب الخطوط ذات هذا الاتجاه.

`Tolerance (deg)` حدد مقدار الانحراف المسموح به عن الزاوية المفضلة. القيم الصغيرة تحدد الاكتشاف لخطوط قريبة من الاتجاه المفضل.

`Line Selection` اختر كيفية تحديد الخط الممثل الواحد من بين عدة اكتشافات. الخيارات تشمل First Position, Last Position, Longest, Shortest, Middle Position, و Median Length.

`Hough Threshold (Votes)` اضبط حساسية اكتشاف الخطوط. القيم الأعلى تجعل الاكتشاف أكثر تشددًا (خطوط أقل)؛ القيم الأقل تكشف خطوطًا أضعف.

`Min. Line Length (pixels)` تجاهل المقاطع القصيرة جدًا عبر تحديد الحد الأدنى لطول الخط بالمقاييس البكسلية.

`Max. Line Gap (pixels)` عند استخدام الاكتشاف القائم على المقاطع، يتحكم هذا بمدى تباعد المقاطع المقطوعة قبل أن تُعتبر جزءًا من نفس الخط.

## 📊 آلية التشغيل

* تُهيأ الصورة الدخيلة لتحليل الخطوط (تحويل وتحسين حسب الحاجة).
* تُحدد الحواف والمقاطع البارزة عبر الصورة.
* تُجمع المقاطع المكتشفة و(اختياريًا) تُفلتر للاحتفاظ بتلك القريبة من `Preferred Angle` ضمن `Tolerance (deg)`.
* يُختار خط واحد بناءً على إعداد `Line Selection`.
* تُعرض صورة النتائج مع كل الخطوط المكتشفة ويُبرز الخط المحدد.
* يُنتج أيضًا صورة هيستوجرام لقيم الشدة؛ إذا كان هناك خط محدد، سيُعرض الهيستوجرام مع إحصائيات أساسية (المتوسط، وربما الانحراف المعياري) للبيكسلات المأخوذة على طول ذلك الخط.

## ✨ Features

* إخراج بصري يرسم كل الخطوط المكتشفة ويُبرز خطًا مختارًا لتسهيل الفحص.
* أوضاع اختيار مرنة لاختيار خط واحد يمثل المهمة بأفضل شكل.
* تصفية بالزاوية للتركيز على اتجاه مرغوب.
* إخراج هيستوجرام مرتبط بالخط المختار لتحليل سريع لقيم الشدة.
* معلمات قابلة للتعديل للموازنة بين الحساسية وتحمّل الضوضاء.

## 📝 Usage Instructions

1. اربط بلوك مصدر صورة إلى مدخل `Image Any` (مثلاً كاميرا أو مُحمّل صور).
2. اضبط `Preferred Angle` إلى الاتجاه المتوقع في المشهد.
3. قلّل `Tolerance (deg)` لتركيز الضبط على ذلك الاتجاه، أو زيّده لقبول زوايا أكثر تنوعًا.
4. ضبط `Hough Threshold (Votes)`, `Min. Line Length`, و `Max. Line Gap` لإيجاد توازن بين فقدان الخطوط الضعيفة وضمُّ الضوضاء.
5. استخدم `Line Selection` لاختيار تمثيل الخط الوحيد المناسب لمهمتك.
6. فحص إخراجَي `Lined Image` و `Histogram Image`؛ واستخدم أشكال الخط للمعالجات اللاحقة.

## 💡 Tips and Tricks

* للصور ذات الضوضاء العالية، أضف بلوك `Blur` قبل هذا البلوك لتنعيم الضوضاء وتحسين استقرار الاكتشاف.
* إذا كانت صور المصدر كبيرة جدًا، استخدم `Image Resize` لتخفيض الدقة وتسريع الاكتشاف مع الحفاظ على البنى المهمة.
* للتركيز على منطقة معينة، قم أولًا بقص الصورة بواسطة `Image ROI Select` أو `Get ROI` ثم شغل هذا البلوك على الصورة المقصوصة.
* بعد الاكتشاف، اجمع مخرجات `Selected Line` أو `Lines` مع `Line Geometry` لقياس الزوايا، المسافات، التقاطعات أو استخراج الإحداثيات.
* لعرض بصري أثناء التصحيح، أدخل `Lined Image` إلى `Show Image` لعرض النتائج في عارض أكبر، أو احفظ أمثلة باستخدام `Image Logger` أو `Image Write`.
* استخدم `Histogram On Line` عند الحاجة إلى تحليل قمم أكثر تخصصًا على مسح خطي واحد؛ فهو يُكمّل الهيستوجرام الناتج هنا.
* للرسم أو التعليق التوضيحي التفاعلي لخطوط قياس محددة، اجمع مع `Draw Line` ثم حلل الخط المرسوم بهذا البلوك.

(التلميحات أعلاه تستخدم فقط البلوكات من القائمة المقدمة)

## 🛠️ Troubleshooting

* لا توجد خطوط مكتشفة: خرّض قيمة `Hough Threshold (Votes)`, قلّل `Min. Line Length`, أو زد `Tolerance (deg)` لقبول مرشحين أكثر.
* الكثير من الخطوط العشوائية: زد `Hough Threshold (Votes)` أو ارفع `Min. Line Length` لتجاهل المقاطع الصغيرة والضوضاء.
* الخط المحدد غير متوقع: جرّب أوضاع `Line Selection` المختلفة (مثل Longest أو Middle Position) أو اضبط الزاوية المفضلة والتحمل.
* الهيستوجرام لا يتطابق مع الخط المحدد: تأكد أن الخط المحدد يقع بالكامل داخل مساحة الصورة؛ اقص الصورة باستخدام `Image ROI Select` إذا لزم الأمر.

للحصول على نتائج أكثر ثباتًا في بيئة الإنتاج، قم بعمل معالجة مسبقة للصور (الإضاءة، التباين) واختبر نطاقات المعلمات على عينات ممثلة قبل النشر.
