Inhoudsopgave:
- Stap 1: Gezicht detecteren in een realtime video
- Stap 2: Uw voorbeeldafbeeldingen trainen
- Stap 3: Gezichten herkennen
Video: Opencv Gezichtsdetectie, training en herkenning: 3 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
OpenCV is een open source computer vision-bibliotheek die erg populair is voor het uitvoeren van elementaire beeldverwerkingstaken zoals vervaging, beeldvermenging, verbetering van de beeld- en videokwaliteit, drempelwaarden enz. Naast beeldverwerking biedt het verschillende vooraf getrainde deep learning modellen die direct kunnen worden gebruikt om eenvoudige taken op te lossen.
gebruik deze link voor opencv-installatie:
www.instructables.com/id/Opencv-and-Python…
Stap 1: Gezicht detecteren in een realtime video
je kunt op Google zoeken naar veel gezichtsdetectieprogramma's en de gedetecteerde gezichten moeten worden opgeslagen in een map voor verdere beeldverwerking, zoals training en labeling. we gaan 30 monsters verzamelen
import cv2
importeer numpy als np
import os import sys
camera = cv2. VideoCapture(0)
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml") #voeg uw harcascade-bestandspad toe
name = raw_input("Wat is zijn/haar naam? ")
#alle bestanden worden opgeslagen in de map Users/prasad/Documents/images
dirName = "/Users/prasad/Documents/images/" + naam
print(dirName) indien niet os.path.exists(dirName): os.makedirs(dirName) print("Directory Gemaakt") else: print("Naam bestaat al") sys.exit()
tellen = 1
#we gaan 30 stalen verzamelen
while count 30: break # frame = frame.array grey = cv2.cvtColor(frame, cv2. COLOR_BGR2GRAY) faces = faceCascade.detectMultiScale(grey, 1.5, 5) for (x, y, w, h) in faces: roiGray = grey[y:y+h, x:x+w] fileName = dirName + "/" + name + str(count) + ".jpg" cv2.imwrite(fileName, roiGray) cv2.imshow("face", roiGray) cv2.rechthoek(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) count += 1 cv2.imshow('frame', frame) key = cv2.waitKey(1)
als toets == 27:
pauze
#camera.release()
cv2.destroyAllWindows()
Stap 2: Uw voorbeeldafbeeldingen trainen
Nadat Gezichtsdetectie is voltooid, kunnen we de afbeeldingen gaan trainen
import osimport numpy als np van PIL import Image import cv2 import augurk #import serial
#ser = serial. Serial('/dev/ttyACM0', 9600, timeout=1)
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml")
herkenner = cv2.face. LBPHFaceRecognizer_create()
baseDir = os.path.dirname(os.path.abspath(_file_))
#train de afbeeldingen onder de afbeeldingenmap
imageDir = os.path.join(baseDir, "afbeeldingen")
huidige ID = 1
labelIds = {} yLabels = xTrain = #ser.write("Training…..".encode())
voor root, dirs, bestanden in os.walk(imageDir):
print(root, dirs, bestanden) voor bestand in bestanden: print(bestand) if file.endswith("png") of file.endswith("jpg"): path = os.path.join(root, bestand) label = os.path.basename(root) print(label)
indien niet label in labelIds:
labelIds[label] = currentId print(labelIds) currentId += 1
id_ = labelIds[label]
pilImage = Image.open(path).convert("L") imageArray = np.array(pilImage, "uint8") faces = faceCascade.detectMultiScale(imageArray, scaleFactor=1.1, minNeighbours=5)
voor (x, y, w, h) in vlakken:
roi = imageArray[y:y+h, x:x+w] xTrain.append(roi) yLabels.append(id_)
met open("labels", "wb") als f:
augurk.dump(labelIds, f) f.close()
herkenner.train(xTrain, np.array(yLabels))
herkenner.save("trainer.yml") print(labelIds)
Stap 3: Gezichten herkennen
nadat de training voorbij was, kun je nu de onderstaande code uitvoeren, zodat deze je getrainde gezichten begint te herkennen
import osos.environ['PYTHONINSPECT'] = 'aan' import cv2 import numpy als np import augurk #import RPi. GPIO als GPIO vanaf time import sleep
met open('labels', 'rb') als f:
dicti = augurk.load(f) f.close()
camera = cv2. VideoCapture(0)
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml")
herkenner = cv2.face. LBPHFaceRecognizer_create() herkenner.read("trainer.yml")
lettertype = cv2. FONT_HERSHEY_SIMPLEX
laatste=''
#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) faces = faceCascade.detectMultiScale(grey, scaleFactor = 1.5, minNeighbours = 5) for (x, y, w, h) in gezichten: roiGray = grijs[y:y+h, x:x+w]
id_, conf = herkenner.voorspelling (roiGray)
voor naam, waarde in 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= naam if conf <= 70: cv2.rechthoek(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow('frame', frame)
sleutel = cv2.waitKey(1)
als toets == 27:
breken cv2.destroyAllWindows()
Aanbevolen:
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
MATLAB Eenvoudige gezichtsdetectie: 4 stappen
MATLAB Easy Face Detection: het belangrijkste doel van deze instructables is om te laten zien hoe gemakkelijk de beeldverwerking zal zijn. Met behulp van MATLABF is gezichtsdetectie en -tracking een belangrijk en actief onderzoeksveld geweest, dus daarom ga ik het uitleggen hoe het kan met
IP-camera met gezichtsdetectie met behulp van de ESP32-CAM-kaart - Ajarnpa
IP-camera met gezichtsdetectie met behulp van het ESP32-CAM-bord: dit bericht is anders dan de andere en we bekijken het zeer interessante ESP32-CAM-bord dat verrassend goedkoop is (minder dan $ 9) en gemakkelijk te gebruiken is. We creëren een eenvoudige IP-camera die kan worden gebruikt om een live videofeed te streamen met behulp van de 2
Meertalige herkenning met AIY: 4 stappen
Meertalige herkenning met AIY: In kosmische ruimtestations. Er zijn daar veel astronauten. De astronauten komen van veel planeten (landen). dus daarom zou AI daar in veel talen moeten werken
Gezichtsdetectie + herkenning - Ajarnpa
Gezichtsdetectie + herkenning: dit is een eenvoudig voorbeeld van het uitvoeren van gezichtsdetectie en -herkenning met OpenCV vanaf een camera. OPMERKING: IK HEB DIT PROJECT GEMAAKT VOOR SENSORWEDSTRIJD EN IK GEBRUIK DE CAMERA ALS SENSOR OM GEZICHTEN TE VOLGEN EN TE HERKENNEN. Dus, ons doelIn deze sessie, 1. Installeer Anaconda