Sadržaj:
- Korak 1: Prepoznavanje lica u videozapisu u stvarnom vremenu
- Korak 2: Vježbajte svoje uzorke slika
- Korak 3: Prepoznavanje lica
Video: Otkrivanje lica, obuka i prepoznavanje Opencv lica: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
OpenCV je knjižnica računalnog vida otvorenog koda koja je vrlo popularna za obavljanje osnovnih zadataka obrade slika, kao što su zamućivanje, miješanje slika, poboljšanje slike, kao i kvaliteta videa, postavljanje pragova itd. Osim obrade slika, pruža i različita unaprijed obučena dubinska učenja modeli koji se mogu izravno koristiti za rješavanje jednostavnih zadataka.
za instalaciju opencv -a koristite ovu vezu
www.instructables.com/id/Opencv-and-Python…
Korak 1: Prepoznavanje lica u videozapisu u stvarnom vremenu
možete pretraživati na Googleu mnoge programe za otkrivanje lica, a otkrivena lica treba spremiti u mapu za daljnju obradu slika poput obuke i označavanja. prikupit ćemo 30 uzoraka
uvoz cv2
uvoz numpy kao np
import os import sys
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #dodajte svoj put do harcascade datoteke
name = raw_input ("Kako se on/ona zove?")
#sve datoteke bit će spremljene u mapu Users/prasad/Documents/images
dirName = "/Korisnici/prasad/Dokumenti/slike/" + ime
ispis (dirName) ako nije os.path.exists (dirName): os.makedirs (dirName) print ("Direktorij je kreiran") else: print ("Ime već postoji") sys.exit ()
broj = 1
#prikupit ćemo 30 uzoraka
dok broj 30: break # frame = frame.array grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) lica = faceCascade.detectMultiScale (sivo, 1,5, 5) za (x, y, w, h) u licima: roiGray = siva [y: y + h, x: x + w] ime datoteke = dirName + "/" + ime + str (broj) + ".jpg" cv2.imwrite (ime datoteke, roiGray) cv2.imshow ("lice", roiGray) cv2.pravokutnik (okvir, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('okvir', okvir) ključ = cv2.čekajteKljuč (1)
ako je ključ == 27:
pauza
#camera.release ()
cv2.destroyAllWindows ()
Korak 2: Vježbajte svoje uzorke slika
Nakon što je otkrivanje lica dovršeno, možemo ići na obuku slika
uvoz osimport numpy kao np iz PIL -a uvoz slika uvoz cv2 uvoz pickle #import serijski
#ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
prepoznavač = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ datoteka_))
#trenirajte slike ispod mape images
imageDir = os.path.join (baseDir, "slike")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("Trening…..". encode ())
za root, dirs, datoteke u os.walk (imageDir):
ispis (root, dirs, files) za datoteku u datotekama: print (file) if file.endswith ("png") ili file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (root) ispis (oznaka)
ako nije označeno u labelIds:
labelIds [label] = ispis currentId (labelIds) currentId += 1
id_ = labelIds [oznaka]
pilImage = Image.open (path).convert ("L") imageArray = np.array (pilImage, "uint8") lica = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minSusjedi = 5)
za (x, y, w, h) u licima:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
s otvorenim ("oznake", "wb") kao f:
pickle.dump (labelIds, f) f.close ()
prepoznavač.train (xTrain, np.array (yLabels))
prepoznavač.save ("trainer.yml") ispis (labelIds)
Korak 3: Prepoznavanje lica
nakon što je obuka završila sada možete pokrenuti donji kôd kako bi počeo prepoznavati vaša obučena lica
import osos.environment ['PYTHONINSPECT'] = 'on' import cv2 import numpy kao np import pickle #import RPi. GPIO kao GPIO iz vremena import sleep
s otvorenim ('oznake', 'rb') kao f:
dicti = turšija.load (f) f.close ()
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
prepoznavač = cv2.face. LBPHFaceRecognizer_create () prepoznavač.read ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
posljednji = ''
#za okvir u kameri.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
dok je True: ret, frame = camera.read () siva = cv2.cvtColor (okvir, cv2. COLOR_BGR2GRAY) lica = faceCascade.detectMultiScale (siva, scaleFactor = 1,5, minNeighbors = 5) za (x, y, w, h) u licima: roiGray = sivo [y: y+h, x: x+w]
id_, conf = prepoznavač.predict (roiGray)
za ime, vrijednost u dicti.items ():
if value == id_: print (name) cv2.putText (okvir, ime, (x, y), font, 2, (0, 0, 255), 2, cv2. LINE_AA) if name! = last: last = naziv ako je conf <= 70: cv2.pravokutnik (okvir, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('okvir', okvir)
key = cv2.waitKey (1)
ako je ključ == 27:
break cv2.destroyAllWindows ()
Preporučeni:
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom Instructableu ćemo izvršiti detekciju lica na Raspberry Pi 4 sa Shunya O/S pomoću knjižnice Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja s
Prepoznavanje lica i identifikacija - Arduino Face ID pomoću OpenCV Pythona i Arduina .: 6 koraka
Prepoznavanje lica i identifikacija | Arduino Face ID pomoću OpenCV Pythona i Arduina .: Prepoznavanje lica AKA Face ID jedna je od najvažnijih značajki mobilnih telefona u današnje vrijeme. Dakle, imao sam pitanje " mogu li imati identifikacijski broj lica za svoj Arduino projekt " i odgovor je da … Moje putovanje je počelo ovako: Korak 1: Pristup nama
Opencv prepoznavanje lica: 4 koraka
Opencv prepoznavanje lica: Prepoznavanje lica danas je uobičajena pojava u mnogim aplikacijama poput pametnih telefona, mnogih elektroničkih naprava. Ova vrsta tehnologije uključuje mnogo algoritama i alata itd. Koja koristi neke ugrađene ugrađene SOC platforme poput maline
Prepoznavanje lica+prepoznavanje: 8 koraka (sa slikama)
Prepoznavanje lica+prepoznavanje: Ovo je jednostavan primjer pokretanja otkrivanja i prepoznavanja lica pomoću OpenCV -a s kamere. NAPOMENA: OVAJ PROJEKT IZRADIO SAM ZA NATJEČAJ SENZORA I KORISTIO SAM KAMERU KAO SENZOR ZA PRAĆENJE I PREPOZNAVANJE LICA. Dakle, naš ciljU ovoj sesiji, 1. Instalirajte Anacondu
Otkrivanje lica i očiju s Raspberry Pi Zero i Opencv: 3 koraka
Otkrivanje lica i očiju pomoću Raspberry Pi Zero i Opencv -a: U ovom uputstvu pokazat ću kako možete otkriti lice i oči pomoću maline pi i opencv. Ovo je moje prvo uputstvo za opencv. Slijedio sam mnoge tutoriale za postavljanje otvorenog cv -a u malini, ali svaki put naišao sam na neke pogreške. U svakom slučaju ja