תוכן עניינים:
וִידֵאוֹ: Opencv זיהוי פנים, אימון והכרה: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
OpenCV היא ספריית ראיית מחשב בקוד פתוח שהיא פופולרית מאוד לביצוע משימות בסיסיות לעיבוד תמונה כגון טשטוש, מיזוג תמונות, שיפור תמונה וכן איכות וידאו, סף וכו 'בנוסף לעיבוד תמונה, היא מספקת למידה מעמיקה מסוגים שונים. מודלים שניתן להשתמש בהם ישירות לפתרון משימות פשוטות בהישג יד.
להתקנת opencv השתמש בקישור זה
www.instructables.com/id/Opencv-and-Python…
שלב 1: זיהוי פנים בסרטון בזמן אמת
אתה יכול לחפש בגוגל תוכניות רבות לזיהוי פנים ויש לשמור את הפרצופים שזוהו בתיקייה להמשך עיבוד תמונות כמו הדרכה וסימון. אנו הולכים לאסוף 30 דוגמאות
יבוא cv2
ייבא numpy כמו np
יבוא מערכת ייבוא os
מצלמה = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #הוסף את נתיב הקבצים של harcascade
name = raw_input ("מה השם שלו?")
#כל הקבצים יישמרו תחת התיקייה Users/prasad/Documents/images
dirName = "/Users/prasad/Documents/images/" + name
הדפס (dirName) אם לא os.path.exists (dirName): os.makedirs (dirName) הדפס ("מדריך נוצר") אחר: הדפס ("שם כבר קיים") sys.exit ()
ספירה = 1
#אנו הולכים לאסוף 30 דוגמאות
בזמן ספירה 30: הפרדה # frame = frame.array אפור = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) פנים = faceCascade.detectMultiScale (אפור, 1.5, 5) עבור (x, y, w, h) בפנים: roiGray = אפור [y: y + h, x: x + w] fileName = dirName + "/" + name + str (count) + ".jpg" cv2.imwrite (fileName, roiGray) cv2.imshow ("פנים", roiGray) מלבן cv2. frame (מסגרת, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('frame', frame) key = cv2.waitKey (1)
אם מפתח == 27:
לשבור
#camera.release ()
cv2.destroyAllWindows ()
שלב 2: הכשרת התמונות לדוגמא שלך
לאחר סיום זיהוי הפנים, נוכל ללכת לאימון התמונות
יבוא osimport numpy as np מ- PIL יבוא תמונה יבוא cv2 יבוא חמוץ #יבוא סדרתי
#ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
מזהה = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ קובץ_))
#train את התמונות מתחת לתיקיית התמונות
imageDir = os.path.join (baseDir, "תמונות")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("אימון …..". קידוד ())
עבור root, dirs, קבצים ב- os.walk (imageDir):
הדפס (root, dirs, files) לקובץ בקבצים: הדפס (file) if file.endswith ("png") או file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (root) הדפסה (תווית)
אם לא תווית ב- labelIds:
labelIds [label] = currentId print (labelIds) currentId += 1
id_ = labelIds [label]
pilImage = Image.open (נתיב).convert ("L") imageArray = np.array (pilImage, "uint8") פנים = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
עבור (x, y, w, h) בפנים:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
עם פתוח ("תוויות", "wb") כ f:
pickle.dump (labelIds, f) f.close ()
מזהה.טראן (xTrain, np.array (yLabels))
הדפסה מזהה (שמור ("trainer.yml") (labelIds)
שלב 3: זיהוי פנים
לאחר שהאימון הסתיים עכשיו אתה יכול להריץ את הקוד שלהלן כך שהוא יתחיל לזהות את הפנים המאומנות שלך
יבוא osos.environ ['PYTHONINSPECT'] = 'מופעל' ייבוא cv2 יבוא numpy כ- np import יבשה #ייבוא RPi. GPIO כ- GPIO מעת לעת ייבוא
עם פתוח ('תוויות', 'rb') כ f:
dicti = pickle.load (f) f.close ()
מצלמה = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
מזהה = cv2.face. LBPHFaceRecognizer_create () מזהה.קריאה ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
אחרון = ''
#למסגרת בתוך camera.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
בעוד נכון: ret, frame = camera.read () אפור = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) פנים = faceCascade.detectMultiScale (אפור, scaleFactor = 1.5, minNeighbours = 5) עבור (x, y, w, h) בפנים: roiGray = אפור [y: y+h, x: x+w]
id_, conf = identifier.predict (roiGray)
עבור שם, ערך ב- dicti.items ():
אם ערך == id_: הדפס (שם) cv2.putText (מסגרת, שם, (x, y), פונט, 2, (0, 0, 255), 2, cv2. LINE_AA) אם שם! = אחרון: אחרון = שם אם conf <= 70: cv2.rectangle (מסגרת, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('מסגרת', מסגרת)
key = cv2.waitKey (1)
אם מפתח == 27:
לשבור cv2.destroyAllWindows ()
מוּמלָץ:
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: 3 שלבים
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: במדריך זה אנו הולכים לבצע זיהוי פנים ב- Raspberry Pi 4 עם Shunya O/S באמצעות ספריית Shunyaface. Shunyaface היא ספריית זיהוי/זיהוי פנים. הפרויקט שואף להשיג את מהירות הזיהוי והזיהוי המהירה ביותר עם
זיהוי פנים וזיהוי - מזהה פנים Arduino באמצעות OpenCV Python ו- Arduino .: 6 שלבים
זיהוי פנים וזיהוי | מזהה פנים Arduino באמצעות OpenCV Python ו- Arduino .: זיהוי פנים AKA זיהוי פנים הוא אחת התכונות החשובות ביותר בטלפונים ניידים בימינו. אז הייתה לי שאלה " האם אפשר לקבל מזהה פנים לפרוייקט Arduino שלי " והתשובה היא כן … המסע שלי התחיל כדלקמן: שלב 1: גישה אלינו
זיהוי פנים של Opencv: 4 שלבים
זיהוי פנים של Opencv: זיהוי פנים הוא דבר שכיח למדי בימינו, ביישומים רבים כמו טלפונים חכמים, גאדג'טים אלקטרוניים רבים. סוג זה כולל הרבה אלגוריתמים וכלים וכו
זיהוי פנים+זיהוי: 8 שלבים (עם תמונות)
זיהוי פנים+זיהוי: זוהי דוגמה פשוטה לריצת זיהוי פנים וזיהוי באמצעות OpenCV ממצלמה. הערה: הכנתי את הפרויקט הזה לתחרות חיישנים והשתמשתי במצלמה כחיישן לאיתור מעקב והכרה. אז, המטרה שלנו בפגישה זו, 1. התקן את אנקונדה
זיהוי פנים ועיניים עם Raspberry Pi Zero ו- Opencv: 3 שלבים
זיהוי פנים ועיניים עם Raspberry Pi Zero ו- Opencv: במדריך זה אני הולך להראות כיצד אתה יכול לזהות פנים ועין באמצעות פטל פאי ו- opencv. זו ההוראה הראשונה שלי ב- opencv. עקבתי אחר הדרכות רבות כדי להקים קורות חיים פתוחים בפטל אבל בכל פעם הופיעו כמה טעויות. בכל אופן אני