Background Subtractor
تكتشف هذه الدالة مناطق الحركة/المقدم (foreground) بمقارنة الإطارات الحالية بنموذج خلفية متعلم. استخدمها لفصل الأجسام المتحركة (أشخاص، مركبات، أجزاء متحركة) عن خلفية ثابتة وإنتاج قناع مقدم ثنائي أو بدرجات الرمادي للتحليل اللاحق.
📥 المدخلات (sockets)
Input Imageيقبل صورة الإدخال أو إطار الفيديو الذي سيُحلَّل (ملون أو رمادي).
📤 المخرجات (sockets)
Foreground Maskيخرج قناعًا رماديًا/ثنائيًا حيث تُبرز بكسلات المقدّم.
🕹️ الضوابط
Methodاختر خوارزمية طرح الخلفية (مثل MOG2 أو KNN) من القائمة المنسدلة.Historyيحدد عدد الإطارات السابقة المستخدمة لبناء نموذج الخلفية. القيم الأعلى تجعل النموذج يتأقلم أبطأ.VarThresholdيتحكم في حساسية تغير البكسل. القيم الأقل تجعل الأداة أكثر حساسية للتغيرات الصغيرة؛ القيم الأعلى تجعلها أقل حساسية.
⚙️ آلية التشغيل
عند تشغيل البلوك في كل مرة:
يستخدم الإعدادات المحددة في
MethodوHistoryوVarThreshold.إذا تغيّرت الإعدادات، يتم إعادة تهيئة نموذج الخلفية الداخلي لمطابقة المعلمات الجديدة.
يعالج
Input ImageوينتجForeground Maskالذي يبيّن مناطق المقدّم المكتشفة.
يتحدّث هذا القناع إطارًا بإطار ويمكن استخدامه بواسطة بلوكات أخرى للعد، التتبع، أو الحفظ.
🎯 الميزات
التبديل السريع بين الخوارزميات عبر
Method.ضبط المعلمات في الوقت الحقيقي باستخدام
HistoryوVarThresholdلموازنة سرعة التكيف مقابل الثبات.إنتاج قناع مقدم جاهز للاستخدام يمكن توصيله إلى بلوكات كشف أو تحليل أخرى.
📝 كيفية الاستخدام
وصل مصدر صورة (كاميرا، فيديو، أو بلوك تحميل صورة) إلى
Input Image.اختر
Methodالمرغوب وقم بضبطHistoryوVarThresholdأثناء مراقبة النتائج.استخدم
Foreground Maskفي البلوكات التالية للكشف، العد، أو التسجيل.
💡 نصائح وحيل
للحصول على نتائج أقل ضوضاءً، جرّب تنعيم الإدخال أولًا باستخدام
Blurأو تقليل الضوضاء العالية باستخدامDenoisingقبل إرسال الصورة إلى هذا البلوك.لإزالة النُتوءات الصغيرة من القناع، أضف بعد هذا البلوك
Morphological Transformationsلتطبيق عمليات opening/closing.إذا كنت تهتم بمنطقة محددة فقط، قَصّ الإدخال باستخدام
Image ROI SelectأوImage ROIقبل طرح الخلفية لتسريع المعالجة.استخدم
Show ImageلمعاينةForeground Maskفي عارض أكبر أثناء ضبط المعاملات.لتحليل على مستوى الكائنات، مرّر القناع إلى
Blob Detectorأو استخدمFind Contourلاستخراج وقياس المكونات المكتشفة.للتمييز أو إبراز الاكتشافات على الإطار الأصلي، اجمع مع
Draw DetectionsأوDraw Rectangleباستخدام الإحداثيات المستخلصة من التحليل.إذا كانت إطارات الإدخال كبيرة جدًا، أدخل
Image Resizerلتقليل المقاس أولًا وتسريع المعالجة.احفظ الإطارات أو الأقنعة المهمة باستخدام
Image LoggerأوImage Writeعند تحقق شرط (مثل تجاوز عدد الاكتشافات حدًا معينًا).استخدم
Image Memoryلتجميد إطار لفحصه بينما تستمر المعالجة الحية.
(الإشارات أعلاه تقتصر على قائمة البلوكات المتاحة)
🛠️ استكشاف الأخطاء وإصلاحها
إذا كان قناع المقدّم حساسًا جدًا (بكسلات كثيرة متذبذبة)، زد
VarThresholdأو زيّدHistoryليصبح النموذج أبطأ في التكيف.إذا لم تُكتشف الأجسام المتحركة بشكل موثوق، خفّض
VarThresholdأو قلّل التنعيم السابق.إذا احتوى القناع على ضوضاء معزولة صغيرة، أضف
Morphological Transformations(opening) أو شغّلBlurعلى الإدخال.إذا كانت الخلفية تتغير كثيرًا (إضاءة، حركة خلفية)، قلّل
Historyحتى يتكيف النموذج أسرع، أو قصر المعالجة على ROI ثابت باستخدامImage ROI Select.إذا لم تتمكن من رؤية القناع بوضوح، استخدم
Show Imageلفتح القناع في عارض الصور للمراجعة الأفضل.
🔗 مجموعات بلوكات موصى بها
التحضير:
Blur→Background Subtractor→Morphological Transformationsكشف متمركز:
Image ROI Select→Background Subtractor→Blob Detector→Draw Detectionsالتسجيل والمراجعة:
Background Subtractor→Show Image(معاينة) وImage LoggerأوImage Write(حفظ الأقنعة/الإطارات)ما بعد التحليل:
Background Subtractor→Find Contour/Measure Object Distance→Data to JSONأوCSV Export
تساعد هذه التركيبات على بناء خطوط أنابيب موثوقة لتحليل الفيديو باستخدام البلوكات المتاحة.
آخر تحديث