INHOUDSOPGAWE:
- Stap 1: Ontdek gesig in 'n real -time video
- Stap 2: Leer u voorbeeldbeelde op
- Stap 3: Herken gesigte
Video: Opencv Gesigsopsporing, opleiding en herkenning: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
OpenCV is 'n oopbron-rekenaarvisie-biblioteek wat baie gewild is vir die uitvoering van basiese beeldverwerkingstake, soos vervaging, beeldvermenging, verbetering van beeld sowel as videokwaliteit, drempelwaarde, benewens beeldverwerking, bied dit ook verskillende vooraf opgeleide diep leer modelle wat direk gebruik kan word om eenvoudige take op te los.
Gebruik hierdie skakel vir opencv -installasie
www.instructables.com/id/Opencv-and-Python…
Stap 1: Ontdek gesig in 'n real -time video
U kan op baie gesigsopsporingsprogramme op Google soek, en die gesigte wat opgespoor word, moet in 'n gids gestoor word vir verdere beeldverwerking, soos opleiding en etikettering. ons gaan 30 monsters versamel
voer cv2 in
invoer numpy as np
invoer os invoer sys
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #voeg u harcascade lêerpad by
name = raw_input ("Wat is sy/haar naam?")
#al die lêers sal gestoor word onder die gebruikers/prasad/dokumente/afbeeldings gids
dirName = "/Users/prasad/Documents/images/" + naam
print (dirName) indien nie os.path.exists (dirName): os.makedirs (dirName) print ("Directory Created") anders: print ("Naam bestaan reeds") sys.exit ()
tel = 1
#ons gaan 30 monsters versamel
terwyl telling 30: breek # raam = raam. skikking grys = cv2.cvtColor (raam, cv2. COLOR_BGR2GRAY) gesigte = faceCascade.detectMultiScale (grys, 1.5, 5) vir (x, y, w, h) in gesigte: roiGray = grys [y: y + h, x: x + w] fileName = dirName + "/" + name + str (count) + ".jpg" cv2.imwrite (fileName, roiGray) cv2.imshow ("face", roiGray) cv2. reghoek (raam, (x, y), (x+w, y+h), (0, 255, 0), 2) telling+= 1 cv2.imshow ('raam', raam) sleutel = cv2.waitKey (1)
as sleutel == 27:
breek
#kamera.vrystelling ()
cv2.destroyAllWindows ()
Stap 2: Leer u voorbeeldbeelde op
Nadat gesigsopsporing voltooi is, kan ons die beelde gaan oplei
invoer osimport numpy as np van PIL import Image invoer cv2 import pickle #impor serial
#ser = serial. Serial ('/dev/ttyACM0', 9600, time -out = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
herkener = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ lêer_))
#leer die beelde onder die prentmap
imageDir = os.path.join (baseDir, "beelde")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("Opleiding …..". kodeer ())
vir root, dirs, lêers in os.walk (imageDir):
print (root, dirs, files) vir lêer in lêers: print (file) if file.endswith ("png") or file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (wortel) druk (etiket)
indien nie etiket in labelIds:
labelIds [label] = currentId print (labelIds) currentId += 1
id_ = labelIds [label]
pilImage = Image.open (pad).convert ("L") imageArray = np.array (pilImage, "uint8") gesigte = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
vir (x, y, w, h) in gesigte:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
met oop ("etikette", "wb") as f:
pickle.dump (labelIds, f) f.close ()
herkenner.trein (xTrain, np.array (yLabels))
Recognizer.save ("trainer.yml") druk (labelIds)
Stap 3: Herken gesigte
Nadat die opleiding verby was, kan u die onderstaande kode uitvoer sodat dit u opgeleide gesigte sal herken
invoer osos.environ ['PYTHONINSPECT'] = 'op' import cv2 import numpy as np import pickle #import RPi. GPIO as GPIO van tyd af slaap
met oop ('etikette', 'rb') as f:
dicti = pickle.load (f) f.close ()
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
herkenner = cv2.face. LBPHFaceRecognizer_create () herkener.lees ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
laaste = ''
#vir raam in kamera.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
terwyl True: ret, frame = camera.read () grys = cv2.cvtColor (raam, cv2. COLOR_BGR2GRAY) gesigte = faceCascade.detectMultiScale (grys, scaleFactor = 1.5, minNeighbors = 5) vir (x, y, w, h) in gesigte: roiGray = grys [y: y+h, x: x+w]
id_, conf = identifier.predict (roiGray)
vir naam, waarde in dicti.items ():
as waarde == id_: druk (naam) cv2.putText (raam, naam, (x, y), lettertipe, 2, (0, 0, 255), 2, cv2. LINE_AA) as naam! = laaste: laaste = naam as conf <= 70: cv2.rectangle (raam, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('raam', raam)
sleutel = cv2.waitKey (1)
as sleutel == 27:
breek cv2.destroyAllWindows ()
Aanbeveel:
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
MATLAB Maklike gesigsopsporing: 4 stappe
MATLAB Easy Face Detection: Die hoofdoel van hierdie instruksies is om aan te toon hoe maklik die beeldverwerking sal wees. Met behulp van MATLABFace -opsporing en -opsporing was 'n belangrike en aktiewe navorsingsveld, so daarom gaan ek verduidelik hoe dit gedoen kan word
Halfmarathon opleiding vorderingslamp: 7 stappe
Halfmarathon -vorderingslamp: hierdie instruksie sal u wys hoe u snellers kan opstel en 'n lamp kan maak wat brand en geld bespaar, terwyl u die standaard in Hal Higdon se intermediêre halfmarathon -oefenskedule bereik. Om dit te kan doen, moet u eers die volgende materiaal versamel
Kommunikasie -opleiding, skoolaktiwiteit of jeugspel: 3 stappe
Kommunikasie -opleiding, skoolaktiwiteit of jeugspel: ek het hierdie aktiwiteit baie keer met hoërskoolleerlinge gebruik. Dit word as 'n wedloop gedoen, met soveel spanne as wat u wil. Dit is gebaseer op die ou spel van Telefoon, waar 'n frase van een persoon na 'n ander gefluister word, gewoonlik met die einde aan die brand
Gesigsopsporing+herkenning: 8 stappe (met foto's)
Gesigsopsporing+herkenning: dit is 'n eenvoudige voorbeeld van die opsporing van gesigsopsporing en herkenning met OpenCV vanaf 'n kamera. OPMERKING: EK HET HIERDIE PROJEK GEMAAK VIR SENSORKOMPETISIE EN EK HET KAMERA GEBRUIK AS 'N SENSOR OM GESIGTE TE SPOOR EN ERKEN. Dus, ons doelwit In hierdie sessie, 1. Installeer Anaconda