Indholdsfortegnelse:
- Trin 1: Registrering af ansigt i en video i realtid
- Trin 2: Træning af dine prøvebilleder
- Trin 3: Anerkendelse af ansigter
Video: Opencv ansigtsregistrering, træning og genkendelse: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
OpenCV er et open source computer vision-bibliotek, som er meget populært til at udføre grundlæggende billedbehandlingsopgaver som sløring, billedblanding, forbedring af billede samt videokvalitet, tærskelværdi osv. Ud over billedbehandling giver det forskellige forududdannede dybe læringer modeller, der kan bruges direkte til at løse simple opgaver.
til opencv -installation brug dette link
www.instructables.com/id/Opencv-and-Python…
Trin 1: Registrering af ansigt i en video i realtid
du kan søge på google efter mange ansigtsgenkendelsesprogrammer, og de registrerede ansigter skal gemmes i en mappe til yderligere billedbehandling, f.eks. træning og mærkning. vi skal indsamle 30 prøver
import cv2
import numpy som np
import os import sys
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #tilføj din harcascade filsti
name = raw_input ("Hvad er hans/hendes navn?")
#alle filerne gemmes under mappen Users/prasad/Documents/images
dirName = "/Users/prasad/Documents/images/" + navn
print (dirName) hvis ikke os.path.exists (dirName): os.makedirs (dirName) print ("Directory oprettet") else: print ("Navn findes allerede") sys.exit ()
tæl = 1
#vi vil indsamle 30 prøver
mens tælling 30: break # frame = frame.array grå = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) ansigter = faceCascade.detectMultiScale (grå, 1,5, 5) for (x, y, w, h) i ansigter: roiGray = grå [y: y + h, x: x + w] fileName = dirName + "/" + navn + str (count) + ".jpg" cv2.imwrite (filnavn, roiGray) cv2.imshow ("ansigt", roiGray) cv2.rektangel (ramme, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('frame', frame) key = cv2.waitKey (1)
hvis nøgle == 27:
pause
#camera.release ()
cv2.destroyAllWindows ()
Trin 2: Træning af dine prøvebilleder
Efter ansigtsgenkendelse var afsluttet, kan vi gå til træning af billederne
import osimport numpy as np fra PIL import Billede import cv2 import pickle #import serial
#ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
anerkender = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ fil_))
#træn billederne under billedmappen
imageDir = os.path.join (baseDir, "billeder")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("Træning …..". kode ())
for root, dirs, filer i os.walk (imageDir):
print (root, dirs, files) for fil i filer: print (file) if file.endswith ("png") eller file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (rod) print (etiket)
hvis ikke etiket i labelIds:
labelIds [label] = currentId print (labelIds) currentId += 1
id_ = labelIds [label]
pilImage = Image.open (sti).convert ("L") imageArray = np.array (pilImage, "uint8") ansigter = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
for (x, y, w, h) i ansigter:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
med åbne ("etiketter", "wb") som f:
pickle.dump (labelIds, f) f.close ()
anerkender.træn (xTrain, np.array (yLabels))
anerkendelse.save ("trainer.yml") print (labelIds)
Trin 3: Anerkendelse af ansigter
efter træningen var slut nu kan du køre nedenstående kode, så den begynder at genkende dine trænede ansigter
import osos.environ ['PYTHONINSPECT'] = 'on' import cv2 import numpy as np import pickle #import RPi. GPIO as GPIO from time import sleep
med åbne ('etiketter', 'rb') som f:
dicti = pickle.load (f) f.close ()
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
anerkender = cv2.face. LBPHFaceRecognizer_create () anerkender.read ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
sidste = ''
#for frame in camera.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
mens True: ret, frame = camera.read () grå = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) ansigter = faceCascade.detectMultiScale (grå, scaleFactor = 1,5, minNeighbors = 5) for (x, y, w, h) i ansigter: roiGray = grå [y: y+h, x: x+w]
id_, conf = identifier.predict (roiGray)
for navn, værdi i dicti.items ():
hvis værdi == id_: udskriv (navn) cv2.putText (ramme, navn, (x, y), skrifttype, 2, (0, 0, 255), 2, cv2. LINE_AA) hvis navn! = sidste: sidste = navn hvis conf <= 70: cv2.rektangel (ramme, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('ramme', ramme)
nøgle = cv2.waitKey (1)
hvis nøgle == 27:
break cv2.destroyAllWindows ()
Anbefalede:
Ansigtsregistrering på Raspberry Pi 4B i 3 trin: 3 trin
Ansigtsregistrering på Raspberry Pi 4B i 3 trin: I denne instruks vil vi udføre ansigtsregistrering på Raspberry Pi 4 med Shunya O/S ved hjælp af Shunyaface-biblioteket. Shunyaface er et bibliotek til ansigtsgenkendelse/registrering. Projektet sigter mod at opnå den hurtigste registrerings- og genkendelseshastighed med
Micro: bit MU Vision Sensor for begyndere - Etiketværdier og genkendelse af nummerkort: 6 trin
Micro: bit MU Vision Sensor til begyndere - Etiketværdier og nummerkortgenkendelse: Dette er min anden guide til MU vision sensor. I dette projekt programmerer vi micro: bit til at genkende de forskellige nummerkort ved hjælp af etiketværdier
Kædernes ophængningsøvelsesudstyr til træning af kropsudnyttelse: 3 trin
Kædernes ophængningsøvelsesudstyr til træning af kropsudnyttelse: Kæderne er et enkelt, billigt og bærbart fitnesscenter i fuld krop. Opdatering: Se Lashing Strap TRX Clone Instructable for et lettere, billigere alternativ. Introduktion: Hvad er suspensionsøvelser? Suspension træning
Træning Pulsmåler Monitor: 19 trin (med billeder)
Træning Pulsmåler Monitor: Uddannelse er en hektisk og kaotisk tid i ens liv, derfor er det meget vigtigt at holde dit stressniveau lavt. En måde vi kan lide at gøre dette på er ved at træne, det hjælper med at holde dit sind klart og kroppen føles sund. Derfor har vi oprettet en bærbar
Ansigtsregistrering+genkendelse: 8 trin (med billeder)
Ansigtsregistrering+genkendelse: Dette er et enkelt eksempel på kørende ansigtsregistrering og genkendelse med OpenCV fra et kamera. BEMÆRK: Jeg lavede dette projekt til sensorkonkurrence, og jeg brugte kameraet som en sensor til at spore og anerkende ansigter. Så, vores mål I denne session, 1. Installer Anaconda