Innholdsfortegnelse:
- Trinn 1: Oppdag ansikt i en sanntidsvideo
- Trinn 2: Trening av prøvebilder
- Trinn 3: Gjenkjenne ansikter
Video: Opencv ansiktsgjenkjenning, trening og gjenkjenning: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
OpenCV er et åpen kildekode datavisjonsbibliotek som er veldig populært for å utføre grunnleggende bildebehandlingsoppgaver som uskarphet, bildeblanding, forbedring av bilde, så vel som videokvalitet, terskel etc. I tillegg til bildebehandling, gir den forskjellige forhåndsutdannede dyplæringer modeller som kan brukes direkte til å løse enkle oppgaver.
for opencv installasjon bruk denne lenken
www.instructables.com/id/Opencv-and-Python…
Trinn 1: Oppdag ansikt i en sanntidsvideo
du kan søke på google etter mange ansiktsgjenkjenningsprogrammer, og de oppdagede ansiktene bør lagres i en mappe for videre bildebehandling, for eksempel opplæring og merking. vi skal samle 30 prøver
importer cv2
importer numpy som np
import os import sys
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #legg til din harcascade filbane
name = raw_input ("Hva heter han/hun?")
#alle filene blir lagret i mappen Users/prasad/Documents/images
dirName = "/Users/prasad/Documents/images/" + navn
print (dirName) hvis ikke os.path.exists (dirName): os.makedirs (dirName) print ("Directory opprettet") else: print ("Navn eksisterer allerede") sys.exit ()
telle = 1
#vi skal samle 30 prøver
mens telling 30: break # frame = frame.array grå = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) ansikter = faceCascade.detectMultiScale (grå, 1,5, 5) for (x, y, w, h) i ansikter: roiGray = grå [y: y + h, x: x + w] fileName = dirName + "/" + name + str (count) + ".jpg" cv2.imwrite (fileName, roiGray) cv2.imshow ("face", 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økkel == 27:
gå i stykker
#camera.release ()
cv2.destroyAllWindows ()
Trinn 2: Trening av prøvebilder
Etter at ansiktsgjenkjenning var fullført, kan vi gå for å trene bildene
import osimport numpy as np fra PIL import Bildeimport cv2 import pickle #import serial
#ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
gjenkjenner = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ fil_))
#tren bildene under bildemappen
imageDir = os.path.join (baseDir, "bilder")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("Trening …..". 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 (rot) utskrift (etikett)
hvis ikke etikett i labelIds:
labelIds [label] = currentId print (labelIds) currentId += 1
id_ = labelIds [label]
pilImage = Image.open (path).convert ("L") imageArray = np.array (pilImage, "uint8") ansikter = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
for (x, y, w, h) i ansikter:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
med åpne ("etiketter", "wb") som f:
pickle.dump (labelIds, f) f.close ()
anerkjenner.trening (xTrain, np.array (yLabels))
Recognizer.save ("trainer.yml") print (labelIds)
Trinn 3: Gjenkjenne ansikter
etter at treningen var over nå kan du kjøre koden nedenfor slik at den begynner å gjenkjenne dine trente ansikter
import osos.environ ['PYTHONINSPECT'] = 'on' import cv2 import numpy as np import pickle #import RPi. GPIO as GPIO from time import sleep
med åpne ('etiketter', 'rb') som f:
dicti = pickle.load (f) f.close ()
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
anerkjenner = cv2.face. LBPHFaceRecognizer_create () gjenkjenner.les ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
siste = ''
#for frame in camera.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
while True: ret, frame = camera.read () grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) ansikter = faceCascade.detectMultiScale (grå, scaleFactor = 1,5, minNeighbors = 5) for (x, y, w, h) i ansikter: roiGray = grå [y: y+h, x: x+w]
id_, conf = gjenkjenner.predikt (roiGray)
for navn, verdi i 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 = navn hvis conf <= 70: cv2.rektangel (ramme, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('ramme', ramme)
nøkkel = cv2.waitKey (1)
hvis nøkkel == 27:
break cv2.destroyAllWindows ()
Anbefalt:
Micro: bit MU Vision Sensor for Nybegynnere - Etikettverdier og gjenkjenning av tallkort: 6 trinn
Micro: bit MU Vision Sensor for Beginners - Etikettverdier og gjenkjenning av nummerkort: Dette er min andre guide til MU vision sensor. I dette prosjektet skal vi programmere micro: bit for å gjenkjenne de forskjellige tallkortene ved å bruke etikettverdier
Ansiktsgjenkjenning og identifikasjon - Arduino Face ID ved hjelp av OpenCV Python og Arduino .: 6 trinn
Ansiktsgjenkjenning og identifikasjon | Arduino Face ID Bruke OpenCV Python og Arduino .: Ansiktsgjenkjenning AKA face ID er en av de viktigste funksjonene på mobiltelefoner i dag. Så jeg hadde et spørsmål " kan jeg ha en ansikts -ID for mitt Arduino -prosjekt " og svaret er ja … Reisen min startet som følger: Trinn 1: Tilgang til vi
Opencv ansiktsgjenkjenning: 4 trinn
Opencv ansiktsgjenkjenning: Ansiktsgjenkjenning er ganske vanlig nå om dagen, i mange applikasjoner som smarttelefoner, mange elektroniske gadgets. Denne typen teknologi involverer mange algoritmer og verktøy osv. Som bruker noen innebygde innebygde SOC -plattformer som bringebær
Trafikkmønsteranalysator ved hjelp av gjenkjenning av levende objekter: 11 trinn (med bilder)
Trafikkmønsteranalysator ved hjelp av gjenkjenning av levende objekter: I dagens verden er trafikklys avgjørende for en trygg vei. Imidlertid kan trafikklys mange ganger være irriterende i situasjoner der noen nærmer seg lyset akkurat som det blir rødt. Dette kaster bort tid, spesielt hvis lyset er for
Ansiktsgjenkjenning+gjenkjenning: 8 trinn (med bilder)
Ansiktsgjenkjenning+gjenkjenning: Dette er et enkelt eksempel på kjøring av ansiktsgjenkjenning og gjenkjenning med OpenCV fra et kamera. MERK: Jeg laget dette prosjektet for sensorkonkurranse, og jeg brukte kameraet som en sensor for å spore og anerkjenne ansikter. Så, vårt mål I denne økten, 1. Installer Anaconda