Πίνακας περιεχομένων:
- Βήμα 1: Ανίχνευση προσώπου σε βίντεο σε πραγματικό χρόνο
- Βήμα 2: Εκπαίδευση των δειγμάτων εικόνων σας
- Βήμα 3: Αναγνώριση προσώπων
Βίντεο: Opencv Ανίχνευση προσώπου, εκπαίδευση και αναγνώριση: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Το OpenCV είναι μια βιβλιοθήκη οπτικών υπολογιστών ανοιχτού κώδικα, η οποία είναι πολύ δημοφιλής για την εκτέλεση βασικών εργασιών επεξεργασίας εικόνας, όπως θόλωση, ανάμειξη εικόνας, βελτίωση εικόνας καθώς και ποιότητα βίντεο, κατώφλι κ.λπ. Εκτός από την επεξεργασία εικόνας, παρέχει διάφορες προ-εκπαιδευμένες βαθιές γνώσεις μοντέλα που μπορούν να χρησιμοποιηθούν απευθείας για την επίλυση απλών εργασιών.
για εγκατάσταση opencv χρησιμοποιήστε αυτόν τον σύνδεσμο
www.instructables.com/id/Opencv-and-Python…
Βήμα 1: Ανίχνευση προσώπου σε βίντεο σε πραγματικό χρόνο
μπορείτε να κάνετε αναζήτηση στο google για πολλά προγράμματα ανίχνευσης προσώπου και τα πρόσωπα που εντοπίστηκαν θα πρέπει να αποθηκευτούν σε ένα φάκελο για περαιτέρω επεξεργασία εικόνας, όπως εκπαίδευση και επισήμανση. θα συλλέξουμε 30 δείγματα
εισαγωγή cv2
εισαγωγή numpy ως np
import os import sys
κάμερα = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #προσθήκη της διαδρομής του αρχείου σας
όνομα = raw_input ("Πώς τον λένε;")
#όλα τα αρχεία θα αποθηκευτούν στο φάκελο Users/prasad/Documents/images
dirName = "/Users/prasad/Documents/images/" + όνομα
εκτύπωση (dirName), αν όχι os.path.exists (dirName): os.makedirs (dirName) print ("Directory Created") else: print ("Name ήδη υπάρχει") sys.exit ()
μέτρηση = 1
#πρόκειται να συλλέξουμε 30 δείγματα
ενώ μέτρηση 30: break # frame = frame.array grey = 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 ("face", roiGray) cv2. rectangle (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: Εκπαίδευση των δειγμάτων εικόνων σας
Αφού ολοκληρωθεί η Ανίχνευση Προσώπου, μπορούμε να πάμε για εκπαίδευση των εικόνων
import osimport numpy as np from PIL import Image Image import cv2 import pickle #import serial
#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 (_ αρχείο_))
#εκπαιδεύστε τις εικόνες κάτω από το φάκελο εικόνες
imageDir = os.path.join (baseDir, "εικόνες")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("Εκπαίδευση…..". κωδικοποίηση ())
για root, dirs, αρχεία στο os.walk (imageDir):
εκτύπωση (root, dirs, files) για αρχείο σε αρχεία: print (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 (path).convert ("L") imageArray = np.array (pilImage, "uint8") face = 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'] = 'on' import cv2 import numpy as np import pickle #import RPi. GPIO as GPIO from time import sleep sleep
με ανοιχτό («ετικέτες», «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
τελευταίο ="
#for frame in camera.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
while True: ret, frame = camera.read () gray = 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 = αναγνωριστικό.predict (roiGray)
για όνομα, τιμή στο dicti.items ():
if value == id_: print (name) cv2.putText (frame, name, (x, y), font, 2, (0, 0, 255), 2, cv2. LINE_AA) if name! = last: last = όνομα αν conf <= 70: cv2.rectangle (πλαίσιο, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow («πλαίσιο», πλαίσιο)
κλειδί = cv2.waitKey (1)
αν κλειδί == 27:
break cv2.destroyAllWindows ()
Συνιστάται:
Αναγνώριση προσώπου και αναγνώριση - Arduino Face ID χρησιμοποιώντας OpenCV Python και Arduino .: 6 βήματα
Αναγνώριση προσώπου και αναγνώριση | Arduino Face ID χρησιμοποιώντας OpenCV Python και Arduino .: Αναγνώριση προσώπου Το αναγνωριστικό προσώπου AKA είναι ένα από τα πιο σημαντικά χαρακτηριστικά στα κινητά τηλέφωνα στις μέρες μας. Έτσι, είχα μια ερώτηση " μπορώ να έχω ένα αναγνωριστικό προσώπου για το έργο μου στο Arduino " και η απάντηση είναι ναι … Το ταξίδι μου ξεκίνησε ως εξής: Βήμα 1: Πρόσβαση σε εμάς
Παρακολούθηση προσώπου και ανίχνευση χαμόγελου ρομπότ αποκριών: 8 βήματα (με εικόνες)
Face Tracking and Smile Detecting Halloween Robots: Το Halloween έρχεται! Αποφασίσαμε να φτιάξουμε κάτι δροσερό. Γνωρίστε τα ρομπότ Ghosty και Skully. Μπορούν να ακολουθήσουν το πρόσωπό σας και ξέρουν πότε χαμογελάτε για να γελάσετε μαζί σας! Αυτό το έργο είναι ένα άλλο παράδειγμα χρήσης της εφαρμογής iRobbie που μετατρέπει το iPhone σε
Opencv Αναγνώριση προσώπου: 4 βήματα
Opencv Face Recognition: Η αναγνώριση προσώπου είναι αρκετά συνηθισμένο στις μέρες μας, σε πολλές εφαρμογές όπως έξυπνα τηλέφωνα, πολλά ηλεκτρονικά gadget. Αυτό το είδος τεχνολογίας περιλαμβάνει πολλούς αλγόριθμους και εργαλεία κλπ. Που χρησιμοποιεί ενσωματωμένες πλατφόρμες SOC όπως το Raspberry
Ανίχνευση προσώπου+αναγνώριση: 8 βήματα (με εικόνες)
Ανίχνευση προσώπου+αναγνώριση: Αυτό είναι ένα απλό παράδειγμα εκτέλεσης ανίχνευσης και αναγνώρισης προσώπου με OpenCV από κάμερα. ΣΗΜΕΙΩΣΗ: ΕΚΑΝΩ ΑΥΤΟ ΤΟ ΕΡΓΟ ΓΙΑ ΑΙΣΘΗΤΗΡΙΚΟ ΔΙΑΓΩΝΙΣΜΟ ΚΑΙ ΧΡΗΣΙΜΟΠΟΙΗΣΑΤΕ ΤΗΝ ΚΑΜΕΡΑ ΣΑΝ ΑΙΣΘΗΤΗΡΑ ΓΙΑ ΤΗΝ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΚΑΙ ΤΗΝ ΑΝΑΓΝΩΡΙΣΗ. Λοιπόν, ο στόχος μαςΣε αυτήν τη συνεδρία, 1. Εγκαταστήστε το Anaconda
Ανίχνευση προσώπου και ματιών με Raspberry Pi Zero και Opencv: 3 βήματα
Ανίχνευση προσώπου και ματιών με Raspberry Pi Zero και Opencv: Σε αυτό το διδακτικό θα δείξω πώς μπορείτε να ανιχνεύσετε πρόσωπο και μάτι χρησιμοποιώντας βατόμουρο pi και opencv. Αυτό είναι το πρώτο μου εκπαιδευτικό σε opencv. Ακολούθησα πολλά σεμινάρια για τη δημιουργία ανοικτού βιογραφικού σε βατόμουρο, αλλά κάθε φορά χτυπούσα με κάποια λάθη. Όπως και να έχει