תוכן עניינים:
- אספקה
- שלב 1: התקנת Python ו- OpenCV
- שלב 2: מהן תכונות דומות ל- Haar?
- שלב 3: קידוד ב- Python
- שלב 4: תכנות הארדואינו
- שלב 5: מסקנה
וִידֵאוֹ: מכשיר מעקב פנים! פייתון וארדואינו: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
מאת Techovator0819 ערוץ היוטיוב שלי עקוב אחר מאת המחבר:
אודות: אני פשוט אוהב ליצור דברים חדשים. כמו דברים העוסקים במיקרו-בקרים, הנדסת מכונות, בינה מלאכותית, מדעי המחשב וכל מה שמעניין אותי. וכאן תוכלו למצוא את כל … עוד אודות Techovator0819 »
שלום לכולם בחוץ שקוראים את ההנחיה הזו. זהו מכשיר למעקב פנים שעובד על ספריית פייתון בשם OpenCV. קורות חיים מייצגים 'מחשב ראייה'. לאחר מכן הקמתי ממשק סדרתי בין המחשב האישי שלי לבין ה- UNO של Arduino. אז זה אומר שזה לא עובד רק על פייתון.
מכשיר זה מזהה את הפנים שלך במסגרת, ואז הוא שולח פקודות מסוימות לארדואינו כדי למקם את המצלמה בצורה כזו שהיא תישאר בתוך המסגרת! נשמע מגניב? בואו נקפוץ ישר לזה.
אספקה
1. ארדואינו UNO
2. 2 x מנועי סרוו (כל מנועי סרוו יהיו בסדר אבל השתמשתי ב- Tower Pro SG90)
3. התקנת פייתון
4. התקנת OpenCV
5. מצלמת אינטרנט
שלב 1: התקנת Python ו- OpenCV
התקנת פייתון די פשוטה קדימה!
www.python.org/downloads/
אתה יכול לעקוב אחר הקישור לעיל כדי להוריד את גרסת הפייתון (Mac, Windows או Linux) המתאימה לך ביותר (64 סיביות או 32 סיביות). שאר תהליך ההתקנה הוא פשוט ותנחה אותך על ידי הממשק.
לאחר שתסיים את ההתקנה, פתח את שורת הפקודה והקלד את הדברים הבאים:
pip התקן opencv-python
זה אמור להתקין את ספריית openCV. במקרה של פתרון בעיות, אתה יכול לבדוק את הדף הזה.
לאחר שהגדרנו את הסביבה ואת כל התנאים המוקדמים, בואו נראה כיצד נוכל לבנות זאת בפועל!
שלב 2: מהן תכונות דומות ל- Haar?
מאפיינים דמויי שיער הם תכונות של תמונה דיגיטלית. השם בא מגלגלי Haar. אלה הם משפחה של גלים בצורת ריבוע המשמשים לזהות תכונות בתמונה דיגיטלית. מפלי Haar הוא בעצם מסווג המסייע לנו לזהות אובייקטים (בפרצופים שלנו) באמצעות התכונות הדומות לה.
במקרה שלנו, לשם הפשטות, נשתמש במפגשי Haar שהוכשרו מראש לזיהוי פרצופים. תוכל לעקוב אחר הקישור הזה של דף github ולהוריד את קובץ ה- xml של מפל Haar.
1. לחץ על 'haarcascade_frontalface_alt.xml'
2. לחץ על הלחצן 'Raw' בחלק הימני העליון על חלון הקוד.
3. זה יכוון אותך לדף אחר עם טקסט בלבד.
4. לחץ לחיצה ימנית ולחץ על 'שמור בשם..'
5. שמור אותו באותה ספרייה או תיקיה של קוד הפייתון שאתה כותב עליו.
שלב 3: קידוד ב- Python
יבוא cv2
יבוא numpy כמו np זמן יבוא סדרתי
אנו מייבאים את כל הספריות הדרושות לנו.
ard = serial. Serial ("COM3", 9600)
אנו יוצרים אובייקט סדרתי בשם 'ard'. אנו גם מציינים את שם הנמל ואת BaudRate כפרמטרים.
face_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml')
אנו יוצרים אובייקט נוסף עבור מפל Haar שלנו. וודא שקובץ HaarCascade נשאר באותה תיקייה של תוכנית פיתון זו.
vid = cv2. VideoCapture (0)
אנו יוצרים אובייקט שמצלם וידאו ממצלמת האינטרנט. 0 כפרמטר פירושו מצלמת האינטרנט הראשונה המחוברת למחשב שלי.
docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html
בעוד שזה נכון:
_, frame = vid.read ()#קורא את המסגרת הנוכחית למסגרת המשתנה אפור = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY)#ממיר מסגרת -> תמונה בגווני אפור#השורה הבאה מזהה פנים. הפרמטר #הראשון הוא התמונה שעליה ברצונך לזהות ב- #minSize = () מציין את הגודל המינימלי של הפנים במונחים של פיקסלים = (80, 80), minNeighbors = 3) #A ללולאה לאיתור הפנים. עבור (x, y, w, h) בפנים: cv2. מלבן (מסגרת, (x, y), (x+w, y+h), (255, 0, 0), 2)#צייר מלבן מסביב הפנים Xpos = x+(w/2) #c מחשב את קואורדינטת ה- X של מרכז הפנים. Ypos = y+(h/2) #calcualtes ציר Y של מרכז הפנים אם Xpos> 280: #חסימות הקוד הבאות בודקות אם הפנים ard.write ('L'.encode ()) #on השמאלי, הימני, העליון או התחתון ביחס לזמן. שינה (0.01) #מרכז המסגרת. elif Xpos 280: ard.write ('D'.code ()) time.sleep (0.01) elif Ypos <200: ard.write (' U'.encode ()) time.sleep (0.01) else: ard.write ('S'.encode ()) time.sleep (0.01) break cv2.imshow (' frame ', frame)#מציג את המסגרת בחלון נפרד. k = cv2.waitKey (1) & 0xFF אם (k == ord ('q')): #if 'q' נלחץ על המקלדת, הוא יוצא מלולאת ה- while. לשבור
cv2.destroyAllWindows () #סוגר את כל החלונות
ard.close () #סוגר את התקשורת הטורית
vid.release () #מפסיק לקבל וידאו מצלמת האינטרנט.
שלב 4: תכנות הארדואינו
אל תהסס לשנות את התוכנית בהתאם להתקנת החומרה שתתאים לצרכיך.
#לִכלוֹל
סרוו סרווקס;
סרוו סרוו;
int x = 90;
int y = 90;
הגדרת בטל () {
// שים את קוד ההתקנה שלך כאן, להפעלה פעם אחת: Serial.begin (9600); servoX.attach (9); servoY.attach (10); servoX.write (x); servoY.write (y); עיכוב (1000); }
char input = ""; // קלט טורי מאוחסן במשתנה זה
לולאת חלל () {
// שים את הקוד הראשי שלך כאן, כדי להריץ שוב ושוב: אם (Serial.available ()) {// בודק אם יש נתונים כלשהם בקלט המאגר הטורי = Serial.read (); // קורא את הנתונים למשתנה אם (input == 'U') {servoY.write (y+1); // מתאים את זווית הסרוו לפי הקלט y += 1; // מעדכן את ערך הזווית} else if (input == 'D') {servoY.write (y-1); y -= 1; } אחר {servoY.write (y); } if (input == 'L') {servoX.write (x-1); x -= 1; } אחרת אם (קלט == 'R') {servoX.write (x+1); x += 1; } אחר {servoX.write (x); } input = ""; // מנקה את המשתנה} // התהליך חוזר על עצמו !!:)}
שלב 5: מסקנה
זוהי דרך אחת נחמדה ואינטראקטיבית שבה אתה יכול לעצב שילוב של מחשב ראייה בפרויקטים של Arduino. מחשב ראייה הוא למעשה די כיף. ואני באמת מקווה שאהבתם את זה. אם כן, הודע לי בתגובות. ובבקשה הירשם לערוץ היוטיוב שלי. תודה מראש <3 <3
youtube.com/channel/UCNOSfI_iQ7Eb7-s8CrExGfw/videos
מוּמלָץ:
מעקב פנים באמצעות ARDUINO !!!: 7 שלבים
מעקב אחר פנים באמצעות ARDUINO !!!: בהוראה קודמת שיתפתי כיצד ניתן לתקשר בין Arduino ו- Python באמצעות מודול 'pyserial' ולשלוט על LED. אם לא ראית את זה בדוק את זה כאן: תקשורת בין ארדואינו & פיתון! ואיך אתה יכול לזהות צבע
ערכת תופים MIDI על פייתון וארדואינו: 5 שלבים (עם תמונות)
ערכת תופים של MIDI על פייתון וארדואינו: תמיד רציתי לקנות ערכת תופים מאז שהייתי ילד. אז, כל הציוד המוסיקלי לא היה בעל כל היישומים הדיגיטליים כפי שיש לנו הרבה היום, ולכן המחירים יחד עם הציפיות היו גבוהים מדי. לאחרונה החלטתי לרכוש מכשיר
זיהוי פנים וזיהוי - מזהה פנים Arduino באמצעות OpenCV Python ו- Arduino .: 6 שלבים
זיהוי פנים וזיהוי | מזהה פנים Arduino באמצעות OpenCV Python ו- Arduino .: זיהוי פנים AKA זיהוי פנים הוא אחת התכונות החשובות ביותר בטלפונים ניידים בימינו. אז הייתה לי שאלה " האם אפשר לקבל מזהה פנים לפרוייקט Arduino שלי " והתשובה היא כן … המסע שלי התחיל כדלקמן: שלב 1: גישה אלינו
מעקב פנים וחיפוש רובוטים ליל כל הקדושים: 8 שלבים (עם תמונות)
מעקב פנים וחיוך מגלה רובוטים ליל כל הקדושים: ליל כל הקדושים מגיע! החלטנו לבנות משהו מגניב. הכירו את הרובוטים של Ghosty ו- Skully. הם יכולים לעקוב אחר הפנים שלך והם יודעים מתי אתה מחייך לצחוק איתך! פרויקט זה הוא דוגמה נוספת לשימוש באפליקציית iRobbie הממירה את האייפון אל
טקסס גדול פנים - הקרנת פנים תלת -ממדית כיצד: 10 שלבים (עם תמונות)
Texas Big Face - הקרנת פנים תלת מימדית כיצד: יצירת " פסלים חיים " על ידי הקרנת פנייך על פסלים. א איך לעשות זאת: דיוויד סאתרלנד, קירק מורנו בשיתוף עם מעבדת המחקר של גרפיטי יוסטון* מספר הערות אמרו שיש כמה בעיות שמע. זה