جدول المحتويات:
- الخطوة 1: ملفات الرأس
- الخطوة الثانية: التقاط الفيديو
- الخطوة 3: التقاط الإطار وتحديد اللون
- الخطوة 4: اخفاء واستخراج
- الخطوة 5: العرض أخيرًا
- الخطوة 6: العرض
فيديو: اكتشاف بسيط للألوان باستخدام OpenCV: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:37
أهلا! سأقوم اليوم بعرض طريقة بسيطة لاكتشاف لون من فيديو مباشر باستخدام OpenCV و python.
في الأساس ، سأختبر اللون المطلوب الموجود في إطار الخلفية أم لا ، وباستخدام وحدات OpenCV ، سأقوم بإخفاء تلك المنطقة وعرض الإطار في نفس الوقت.
الخطوة 1: ملفات الرأس
لقد استخدمت هنا ملفي رأس هما cv2 و NumPy. أساسًا cv2 هي مكتبة OpenCV التي تقوم بتحميل جميع ملفات c ++ المهمة أثناء استخدام الأوامر الموجودة في الأكواد (تحتوي على جميع التعريفات).
و Numpy هي مكتبة بيثون ضرورية لتخزين مصفوفة متعددة الأبعاد. سنستخدم لتخزين إحداثيات نطاق الألوان لدينا.
و numpy as np يساعد بشكل أساسي الكود الخاص بنا على التقصير قليلاً باستخدام np في كل مرة بدلاً من numpy.
الخطوة الثانية: التقاط الفيديو
هذا بسيط جدًا أثناء استخدام بيثون. هنا نحتاج فقط إلى تشغيل مسجل الفيديو حتى يتمكن من بدء تسجيل الإطارات.
الآن تشير القيمة الموجودة داخل VideoCapture إلى الكاميرا ، في حالتي ، الكاميرا متصلة بجهاز الكمبيوتر المحمول الخاص بي ، لذا 0.
يمكنك الانتقال بشكل مشابه إلى 1 للكاميرا الثانوية وما إلى ذلك. VideoCapture يخلق الكائن لذلك.
الخطوة 3: التقاط الإطار وتحديد اللون
الآن علينا أن نفعل شيئًا حتى نتمكن من التقاط الإطار الفوري للفيديو الذي سيساعدنا على استخراج الصورة ويمكننا العمل على ذلك وفقًا للمتطلبات.
ستساعدنا حلقة "while" في تشغيل الحلقة وفقًا لوقت متطلباتنا. يتم الآن استخدام "_، frame = cap.read ()" للتحقق من صلاحية الإطار الذي تم التقاطه وتخزينه. "cap.read () متغير منطقي ويعود صحيحًا إذا تمت قراءة الإطار بشكل صحيح وإذا لم تحصل على إطارات فلن يظهر أي خطأ ، ستحصل ببساطة على None.
الآن السطر 11 والخط 12 يحددان أساسًا نطاق اللون الذي نحتاج إلى اكتشافه. لهذا ، لقد اعتدت على اللون الأزرق.
يمكنك المتابعة مع أي لون لذلك تحتاج فقط إلى كتابة قيم BGR لهذا اللون المعين. من الأفضل تحديد مصفوفتين باستخدام المصفوفات غير الدقيقة لأن اكتشاف لون معين في العالم الحقيقي لن يخدم غرضنا ، بل سنحدد نطاقًا من اللون الأزرق بحيث يكتشف داخل النطاق.
لهذا ، قمت بتحديد متغيرين يخزنان قيم BGR المنخفضة وقيم BGR العليا.
الخطوة 4: اخفاء واستخراج
الآن هنا تأتي المهمة الرئيسية المتمثلة في إخفاء الإطار واستخراج لون الإطار. لقد استخدمت الأوامر المحددة مسبقًا الموجودة في المكتبة في OpenCV للقيام بالإخفاء. التقنيع بشكل أساسي هو عملية إزالة جزء من الإطار ، أي أننا سنزيل وحدات البكسل التي لا تكمن قيم BGR في لونها في نطاق الألوان المحدد ويتم ذلك بواسطة cv2.inRange. بعد ذلك ، نطبق نطاق الألوان على الصورة المقنعة اعتمادًا على قيم البكسل ولهذا ، سنستخدم cv2.bitwise_and ، وسوف نقوم ببساطة بتعيين الألوان إلى المنطقة المقنعة اعتمادًا على قيم القناع ونطاق الألوان.
رابط لـ cv2. bitwise_and:
الخطوة 5: العرض أخيرًا
لقد استخدمت هنا cv2.imshow () الأساسي لعرض كل إطار كصورة. نظرًا لأن لدي بيانات الإطار المخزنة في متغيرات ، يمكنني استرجاعها في imshow (). لقد قمت هنا بعرض جميع الإطارات الثلاثة ، الأصلية والمقنعة والملونة.
الآن علينا الخروج من حلقة while. لهذا ، يمكننا ببساطة تنفيذ cv2.wait. Key (). في الأساس يخبر وقت الانتظار قبل الرد. لذلك إذا مررت بـ 0 ، فسوف تنتظر إلى ما لا نهاية ويخبر 0xFF أن العمارة هي 64 بت. يحدد "ord ()" الحرف الذي عند الضغط عليه سينفذ الأمر break في كتلة if وسيخرج من الحلقة.
ثم يغلق cap.release () مسجل الفيديو ويغلق cv2.destroyAllWindows () جميع النوافذ المفتوحة.
إذا كان لديك أي مشكلة ، يرجى إعلامي.
رابط لكود المصدر:
موصى به:
اكتشاف الأجسام باستخدام لوحات Sipeed MaiX (Kendryte K210): 6 خطوات
اكتشاف الكائن باستخدام لوحات Sipeed MaiX (Kendryte K210): استمرارًا لمقالتي السابقة حول التعرف على الصور باستخدام لوحات Sipeed MaiX ، قررت كتابة برنامج تعليمي آخر يركز على اكتشاف الكائنات. ظهرت مؤخرًا بعض الأجهزة المثيرة للاهتمام مع شريحة Kendryte K210 ، بما في ذلك S
اكتشاف اللون في Python باستخدام OpenCV: 8 خطوات
اكتشاف اللون في Python باستخدام OpenCV: مرحبًا! تُستخدم هذه التعليمات للتوجيه حول كيفية استخراج لون معين من صورة في لغة python باستخدام مكتبة openCV. إذا كنت جديدًا على هذه التقنية ، فلا داعي للقلق ، ففي نهاية هذا الدليل ستتمكن من برمجة لونك الخاص
كاشف كهرباء ثابت بسيط ولكنه قوي يمكنه أيضًا اكتشاف "الأشباح": 10 خطوات
كاشف الكهرباء الساكنة البسيط والقوي والذي يمكنه أيضًا اكتشاف "الأشباح": مرحبًا ، هذه أول تعليمات لي ، لذا يرجى إعلامي بالأخطاء التي ارتكبتها في هذه التعليمات. في هذا الدليل ، سأقوم بإنشاء دائرة يمكنها اكتشاف الكهرباء الساكنة. ادعى أحد منشئيها أنه اكتشف & quot
اكتشاف الكائن W / Dragonboard 410c أو 820c باستخدام OpenCV و Tensorflow: 4 خطوات
اكتشاف الكائن W / Dragonboard 410c أو 820c باستخدام OpenCV و Tensorflow: توضح هذه التعليمات كيفية تثبيت OpenCV و Tensorflow وأطر التعلم الآلي لـ Python 3.5 لتشغيل تطبيق Object Detection
اكتشاف الوجه والعين باستخدام Raspberry Pi Zero و Opencv: 3 خطوات
اكتشاف الوجه والعين باستخدام Raspberry Pi Zero و Opencv: في هذا الدليل سأوضح كيف يمكنك اكتشاف الوجه والعين باستخدام raspberry pi و opencv. هذا هو أول تدريب لي على opencv. لقد اتبعت العديد من البرامج التعليمية لإعداد سيرة ذاتية مفتوحة في توت العليق ولكن في كل مرة أصاب ببعض الأخطاء. على أي حال أنا