جدول المحتويات:
فيديو: إنشاء مصنفات صور OpenCV باستخدام Python: 7 خطوات
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
تعتبر مصنفات 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
طاهر الحق