תוכן עניינים:
- שלב 1: קבצי הכותרת
- שלב 2: צילום הווידאו
- שלב 3: לכידת מסגרת והגדרת צבע
- שלב 4: מיסוך וחילוץ
- שלב 5: סוף סוף מוצג
- שלב 6: הדגמה
וִידֵאוֹ: זיהוי צבע פשוט באמצעות OpenCV: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
היי! היום אני הולך להציג שיטה פשוטה לזיהוי צבע מסרטון חי באמצעות OpenCV ופייתון.
בעיקרון אני רק אבדוק את הצבע הדרוש שיש במסגרת הרקע או לא ושימוש במודולי OpenCV אסיח את האזור הזה ובמקביל להציג את המסגרת.
שלב 1: קבצי הכותרת
עכשיו הנה השתמשתי בשני קבצי כותרות כלומר cv2 ו- NumPy. בעיקרון cv2 היא ספריית OpenCV אשר טוענת את כל קבצי c ++ החשובים בעת שימוש בפקודות בקודים (היא מכילה את כל ההגדרות).
ו- Numpy היא ספריית פייתון שהיא חיונית לאחסון מערך רב ממדי. אנו נשתמש לאחסון קואורדינטות טווח הצבעים שלנו.
ו numpy as np בעצם עוזר לקוד שלנו לקצר מעט על ידי שימוש ב- np בכל פעם במקום ב- numpy.
שלב 2: צילום הווידאו
זה די פשוט בעת שימוש בפייתון. כאן אנחנו רק צריכים להפעיל את מקליט הווידאו כדי שיוכל להתחיל להקליט את המסגרות.
כעת הערך שבתוך VideoCapture מציין את המצלמה, במקרה שלי המצלמה מחוברת למחשב הנייד שלי, אז 0.
אתה יכול ללכת באופן דומה ל -1 עבור המצלמה המשנית וכן הלאה. VideoCapture יוצר עבורו את האובייקט.
שלב 3: לכידת מסגרת והגדרת צבע
עכשיו כאן עלינו לעשות משהו על מנת שנוכל לצלם את המסגרת המיידית של הסרטון אשר תעזור לנו לחלץ את התמונה ונוכל לעבוד על כך בהתאם לדרישה.
לולאת "while" תעזור לנו להריץ את הלולאה לזמן הדרישה שלנו. כעת "_, frame = cap.read ()" משמש לבדיקת תוקפו של המסגרת שנלכדה ומאחסנת אותה. "cap.read () הוא משתנה בוליאני ומחזיר נכון אם המסגרת נקראת כראוי ואם לא תקבל מסגרות היא לא תראה שום שגיאה, פשוט תקבל None.
כעת שורה 11 ושורה 12 בעצם מגדירים את טווח הצבעים שעלינו לזהות. לשם כך, השתמשתי בצבע כחול.
אתה יכול להמשיך עם כל צבע בשביל זה אתה רק צריך להקליד ערכי BGR עבור הצבע המסוים הזה. עדיף להגדיר שני מערכים באמצעות מערכי numpy כגילוי צבע מסוים בעולם האמיתי לא ישמש את מטרתנו אלא נגדיר טווח של צבע כחול כך שיזהה בתוך הטווח.
לשם כך הגדרתי שני משתנים המאחסנים את ערכי ה- 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 in if block והוא ייצא מהלולאה.
ואז cap.release () סוגר את מקליט הווידאו ו- cv2.destroyAllWindows () סוגר את כל החלונות שנפתחו.
אם יש לך בעיה, אנא יידע אותי.
קישור לקוד המקור:
מוּמלָץ:
זיהוי כוכבים באמצעות מחשב ראייה (OpenCV): 11 שלבים (עם תמונות)
זיהוי כוכבים באמצעות מחשב ראייה (OpenCV): הוראה זו תתאר לך כיצד ליצור תוכנית ראיית מחשב לזיהוי אוטומטי של דפוסי כוכבים בתמונה. השיטה משתמשת בספריית OpenCV (Open-Source Computer Vision) ליצירת קבוצה של מפלי HAAR מאומנים שיכולים להיות
זיהוי צבע בפייתון באמצעות OpenCV: 8 שלבים
זיהוי צבעים בפייתון באמצעות OpenCV: שלום! מדריך זה משמש להדרכה כיצד לחלץ צבע מסוים מתמונה בפייתון באמצעות ספריית openCV. אם אתה חדש בטכניקה זו, אל תדאג, בסוף מדריך זה תוכל לתכנת צבע משלך
זיהוי פנים וזיהוי - מזהה פנים Arduino באמצעות OpenCV Python ו- Arduino .: 6 שלבים
זיהוי פנים וזיהוי | מזהה פנים Arduino באמצעות OpenCV Python ו- Arduino .: זיהוי פנים AKA זיהוי פנים הוא אחת התכונות החשובות ביותר בטלפונים ניידים בימינו. אז הייתה לי שאלה " האם אפשר לקבל מזהה פנים לפרוייקט Arduino שלי " והתשובה היא כן … המסע שלי התחיל כדלקמן: שלב 1: גישה אלינו
זיהוי אובייקטים W/ Dragonboard 410c או 820c באמצעות OpenCV ו- Tensorflow .: 4 שלבים
אובייקט זיהוי W/ Dragonboard 410c או 820c באמצעות OpenCV ו- Tensorflow .: הוראות הוראה אלה מתארות כיצד להתקין מסגרות OpenCV, Tensorflow ולמידת מכונה עבור Python 3.5 להפעלת היישום זיהוי אובייקטים
זיהוי פנים+זיהוי: 8 שלבים (עם תמונות)
זיהוי פנים+זיהוי: זוהי דוגמה פשוטה לריצת זיהוי פנים וזיהוי באמצעות OpenCV ממצלמה. הערה: הכנתי את הפרויקט הזה לתחרות חיישנים והשתמשתי במצלמה כחיישן לאיתור מעקב והכרה. אז, המטרה שלנו בפגישה זו, 1. התקן את אנקונדה