جدول المحتويات:
- الخطوة 1: البرامج المطلوبة
- الخطوة الثانية: تنزيل الصور
- الخطوة 3: إنشاء نماذج إيجابية في OpenCV
- الخطوة 4: إنشاء ملف موجه موجب
- الخطوة 5: تدريب المصنف
- الخطوة 6: اختبار المصنف
- الخطوة 7: شكر خاص
فيديو: إنشاء مصنفات صور OpenCV باستخدام Python: 7 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
تعتبر مصنفات Haar في python و opencv مهمة صعبة إلى حد ما ولكنها سهلة.
غالبًا ما نواجه مشاكل في اكتشاف الصور وتصنيفها. أفضل حل هو إنشاء المصنف الخاص بك. هنا نتعلم صنع مصنفات الصور الخاصة بنا باستخدام بعض الأوامر وبرامج الثعبان الطويلة والبسيطة
يتطلب التصنيف عددًا كبيرًا من الصور السلبية والإيجابية لا تحتوي الصور السلبية على الكائن المطلوب بينما الإيجابيات هي التي تحتوي على الكائن المراد اكتشافه.
مطلوب حوالي 2000 سلبيات وإيجابيات. يقوم برنامج python بتحويل الصورة إلى تدرج رمادي وحجم مناسب بحيث تستغرق المصنفات الوقت الأمثل للإنشاء.
الخطوة 1: البرامج المطلوبة
أنت بحاجة إلى البرامج التالية لإنشاء المصنف الخاص بك
1) OpenCV: الإصدار الذي استخدمته هو 3.4.2. الإصدار متاح بسهولة على الإنترنت.
2) بايثون: الإصدار المستخدم هو 3.6.2. يمكن تنزيله من موقع python.org
علاوة على ذلك ، فأنت تحتاج إلى كاميرا ويب (بالطبع).
الخطوة الثانية: تنزيل الصور
تتمثل الخطوة الأولى في التقاط صورة واضحة للكائن المراد تصنيفه.
يجب ألا يكون الحجم كبيرًا جدًا حيث يستغرق الكمبيوتر وقتًا أطول للمعالجة. أخذت حجم 50 في 50.
بعد ذلك نقوم بتنزيل الصور السلبية والإيجابية. يمكنك العثور عليها على الانترنت. لكننا نستخدم كود python لتنزيل الصور من "https://image-net.org"
بعد ذلك نقوم بتحويل الصور إلى التدرج الرمادي وإلى الحجم العادي. يتم تنفيذ هذا في الكود. يزيل الكود أيضًا أي صورة معيبة
الآن يجب أن يحتوي دليلك على صورة الكائن ، على سبيل المثال ، watch5050-j.webp
إذا لم يتم إنشاء مجلد البيانات ، فقم بذلك يدويًا
يتم توفير كود python في ملف.py
الخطوة 3: إنشاء نماذج إيجابية في OpenCV
انتقل الآن إلى دليل opencv_createsamples وأضف كل المحتوى المذكور أعلاه
في موجه الأوامر ، انتقل إلى C: / opencv342 / build / x64 / vc14 / bin للعثور على تطبيقات opencv_createsamples و opencv_traincascade
الآن قم بتنفيذ الأوامر التالية
opencv_createsamples -img watch5050-j.webp
هذا الأمر مخصص لإنشاء عينات موجبة للكائن 1950 لتكون دقيقة وملف الوصف info.lst للصور الإيجابية يجب أن يكون الوصف مثل هذا 0001_0014_0045_0028_0028-j.webp
الآن يحتوي المجلد على ملفات
معلومات
مجلد الصور neg
ملف bg.txt
مجلد بيانات فارغ
الخطوة 4: إنشاء ملف موجه موجب
الآن قم بإنشاء ملف متجه موجب يوفر المسار إلى الصور الإيجابية ملف فك التشفير
استخدم الأمر التالي
opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positives.vec
الآن يجب أن تكون محتويات الدليل كما يلي:
--ني
---- negimages.jpg
--opencv
--معلومات
--البيانات
--positives.vec
--bg.txt
--watch5050-j.webp
الخطوة 5: تدريب المصنف
الآن ، لنقوم بتدريب haar cascade وإنشاء ملف xml
استخدم الأمر التالي
opencv_traincascade-data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
المراحل 10 تتطلب زيادة المراحل مزيدًا من المعالجة ولكن المصنف هو طريقة أكثر كفاءة.
الآن تم إنشاء haarcascade يستغرق الأمر حوالي ساعتين لإكماله افتح مجلد البيانات هناك ستجد cascade.xml هذا المصنف الذي تم إنشاؤه
الخطوة 6: اختبار المصنف
يحتوي مجلد البيانات على الملفات كما هو موضح في الصورة أعلاه.
بعد إنشاء المصنف نرى ما إذا كان المصنف يعمل أم لا عن طريق تشغيل برنامج object_detect.py. لا تنس وضع ملف classifier.xml في دليل python.
الخطوة 7: شكر خاص
أود أن أشكر سينتديكس هنا الذي هو مبرمج بيثون عظيم.
لديه اسم يوتيوب بالاسم المذكور اعلاه والفيديو الذي ساعدني كثيرا يحتوي على هذا الرابط
تم نسخ معظم الكود من sentdex. على الرغم من أنني تلقيت الكثير من المساعدة من sentdex ، إلا أنني واجهت الكثير من المشاكل. أردت فقط أن أشارك تجربتي.
آمل أن يكون هذا الدرس قد ساعدك !!! ترقبوا المزيد.
BR
طاهر الحق
موصى به:
كيفية إنشاء جهاز مراقبة النبات باستخدام Arduino: 7 خطوات
كيفية إنشاء شاشة مراقبة النبات باستخدام Arduino: في هذا البرنامج التعليمي سوف نتعلم كيفية اكتشاف رطوبة التربة باستخدام مستشعر الرطوبة ووميض مؤشر LED أخضر إذا كان كل شيء على ما يرام وشاشة OLED و Visuino
كيفية إنشاء موقع ويب أساسي باستخدام المفكرة: 4 خطوات
كيفية إنشاء موقع ويب أساسي باستخدام المفكرة: هل تساءل أي شخص & quot؛ كيف يمكنني إنشاء موقع ويب من برنامج الكتابة الأساسي؟ & quot؛ حسنًا ، من الواضح ، ليس تحديدًا … على أي حال ، سأوضح لك هنا كيفية إنشاء BASIC الموقع باستخدام المفكرة فقط
كيفية إنشاء حرف ثنائي الأبعاد باستخدام وحدة التحكم في الأحرف في Unreal Engine 4 باستخدام برنامج Visual Script للكمبيوتر الشخصي: 11 خطوة
كيفية إنشاء حرف ثنائي الأبعاد باستخدام وحدة تحكم الأحرف في Unreal Engine 4 باستخدام برنامج Visual Script للكمبيوتر: كيفية إنشاء شخصية ثنائية الأبعاد باستخدام وحدة تحكم في الأحرف في محرك Unreal 4 باستخدام برنامج نصي مرئي للكمبيوتر الشخصي مرحبًا ، أنا جوردان ستيلتز. أعمل على تطوير ألعاب الفيديو منذ أن كان عمري 15 عامًا. سيعلمك هذا البرنامج التعليمي كيفية إنشاء شخصية أساسية باستخدام
FoldTronics: إنشاء كائنات ثلاثية الأبعاد باستخدام إلكترونيات متكاملة باستخدام هياكل HoneyComb قابلة للطي: 11 خطوة
FoldTronics: إنشاء كائنات ثلاثية الأبعاد باستخدام إلكترونيات متكاملة باستخدام هياكل HoneyComb قابلة للطي: في هذا البرنامج التعليمي ، نقدم FoldTronics ، وهي تقنية تصنيع تعتمد على القطع ثنائي الأبعاد لدمج الإلكترونيات في كائنات مطوية ثلاثية الأبعاد. الفكرة الأساسية هي قطع وثقب لوح ثنائي الأبعاد باستخدام آلة تخطيط القطع لجعلها قابلة للطي إلى شكل قرص العسل ثلاثي الأبعاد
الكيفية: إنشاء مولد كلمة مرور عشوائي باستخدام Python: 8 خطوات
كيف: إنشاء مولد كلمة مرور عشوائية باستخدام Python: في هذا البرنامج التعليمي ، ستتعلم كيفية إنشاء مولد كلمة مرور عشوائي باستخدام Python في بضع خطوات بسيطة