Obsah:
- Krok 1: Detekcia tváre vo videu v reálnom čase
- Krok 2: Zaškolte si ukážkové obrázky
- Krok 3: Rozpoznávanie tvárí
Video: Opencv Detekcia tváre, školenie a rozpoznávanie: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
OpenCV je knižnica počítačového videnia s otvoreným zdrojovým kódom, ktorá je veľmi obľúbená pri vykonávaní základných úloh spracovania obrazu, ako je rozmazanie, miešanie obrázkov, vylepšovanie kvality obrazu a videa, prahovanie atď. Okrem spracovania obrazu poskytuje rôzne vopred vyškolené hĺbkové učenie. modely, ktoré je možné priamo použiť na riešenie jednoduchých úloh po ruke.
na inštaláciu opencv použite tento odkaz
www.instructables.com/id/Opencv-and-Python…
Krok 1: Detekcia tváre vo videu v reálnom čase
v službe Google môžete vyhľadať mnoho programov na detekciu tvárí a detekované tváre by sa mali uložiť do priečinka na ďalšie činnosti súvisiace so spracovaním obrazu, ako je školenie a označovanie. zhromaždíme 30 vzoriek
import cv2
import numpy ako np
import os import sys
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #pridajte svoju cestu k súboru harcascade
name = raw_input („Aké je jeho meno?“)
#všetky súbory budú uložené v priečinku Používatelia/prasad/Dokumenty/obrázky
dirName = "/Používatelia/prasad/Dokumenty/obrázky/" + meno
print (dirName) if not os.path.exists (dirName): os.makedirs (dirName) print ("Directory Created") else: print ("Name already existing") sys.exit ()
počet = 1
#ideme zozbierať 30 vzoriek
zatiaľ čo počet 30: zlom # rám = rám.array sivý = cv2.cvtColor (rám, cv2. COLOR_BGR2GRAY) tváre = faceCascade.detectMultiScale (sivý, 1,5, 5) pre (x, y, w, h) v tvárach: roiGray = sivá [y: y + h, x: x + w] názov_súboru = dirName + "/" + meno + str (počet) + ".jpg" cv2.imwrite (názov súboru, roiGray) cv2.imshow ("tvár", roiGray) cv2.rectangle (frame, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('frame', frame) key = cv2.waitKey (1)
ak kľúč == 27:
prestávka
#camera.release ()
cv2.destroyAllWindows ()
Krok 2: Zaškolte si ukážkové obrázky
Keď bola detekcia tváre dokončená, môžeme začať trénovať obrázky
import osimport numpy as np from PIL import Image import cv2 import pickle #import serial
#ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
rozpoznávač = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ file_))
#trénujte obrázky v priečinku s obrázkami
imageDir = os.path.join (baseDir, "obrázky")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("Školenie …..". encode ())
pre root, dirs, súbory v os.walk (imageDir):
print (root, dirs, files) pre súbor v súboroch: print (file) if file.endswith ("png") or file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (root) tlač (štítok)
ak nie je uvedené v označení
labelIds [label] = currentId print (labelIds) currentId += 1
id_ = labelIds [label]
pilImage = Image.open (cesta).convert ("L") imageArray = np.array (pilImage, "uint8") Faces = faceCascade.detectMultiScale (imageArray, scaleFactor = 1,1, minNeighbors = 5)
pre (x, y, w, h) v tvárach:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
s otvorenými („štítky“, „wb“) ako f:
nakladačka.dump (labelIds, f) f.close ()
rozpoznávač.train (xTrain, np.array (yLabels))
Relignizer.save ("trainer.yml") tlač (labelIds)
Krok 3: Rozpoznávanie tvárí
po skončení školenia teraz môžete spustiť nižšie uvedený kód, aby začal rozpoznávať vaše trénované tváre
import osos.environ ['PYTHONINSPECT'] = 'on' import cv2 import numpy as np import pickle #import RPi. GPIO as GPIO from time import sleep
s otvorenými („štítky“, „rb“) ako f:
dicti = nakladačka.load (f) f.close ()
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
Reconier = cv2.face. LBPHFaceRecognizer_create ()
font = cv2. FONT_HERSHEY_SIMPLEX
last = ''
#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, minNeighbors = 5) for (x, y, w, h) v tvárach: roiGray = sivá [y: y+h, x: x+w]
id_, conf = recognitionnizer.predict (roiGray)
pre meno, hodnota v 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 = name if conf <= 70: cv2.rectangle (frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('rám', rám)
kľúč = cv2.waitKey (1)
ak kľúč == 27:
break cv2.destroyAllWindows ()
Odporúča:
Detekcia tváre na Raspberry Pi 4B v 3 krokoch: 3 kroky
Detekcia tváre na Raspberry Pi 4B v 3 krokoch: V tomto návode sa budeme zaoberať detekciou tváre na Raspberry Pi 4 pomocou Shunya O/S pomocou knižnice Shunyaface. Shunyaface je knižnica rozpoznávania a rozpoznávania tvárí. Cieľom projektu je dosiahnuť najvyššiu rýchlosť detekcie a rozpoznávania pomocou
Rozpoznávanie tváre a identifikácia - Arduino Face ID pomocou OpenCV Python a Arduino .: 6 krokov
Rozpoznávanie tváre a identifikácia | Arduino Face ID pomocou OpenCV Python a Arduino .: Rozpoznávanie tváre AKA face ID je v dnešnej dobe jednou z najdôležitejších funkcií mobilných telefónov. Preto som mal otázku „môžem mať pre svoj projekt Arduino identifikátor tváre“? a odpoveď je áno … Moja cesta začala takto: Krok 1: Prístup k nám
Rozpoznávanie tváre ESP32 CAM s podporou MQTT - AI-Thinker: 4 kroky
Rozpoznávanie tváre ESP32 CAM s podporou MQTT | AI-Thinker: Dobrý deň! Chcel by som sa podeliť o svoj kód pre projekt, keby som potreboval mať ESP CAM s rozpoznávaním tvárí, ktoré by mohlo odosielať údaje do MQTT. Tak dobre .. asi po 7 hodinách hľadania prostredníctvom viacerých príkladov kódu a hľadania toho, čo je čo, mám finis
Rozpoznávanie tváre Opencv: 4 kroky
Opencv Face Recognition: Rozpoznávanie tváre je v dnešnej dobe celkom bežná vec, v mnohých aplikáciách, ako sú chytré telefóny, mnoho elektronických pomôcok. Tento druh technológie zahŕňa množstvo algoritmov a nástrojov atď., Ktorá používa niektoré vstavané platformy SOC, ako je Raspberry
Detekcia tváre a očí s Raspberry Pi Zero a Opencv: 3 kroky
Detekcia tváre a očí s Raspberry Pi Zero a Opencv: V tomto návode ukážem, ako môžete rozpoznať tvár a oči pomocou maliny pi a opencv. Toto je môj prvý návod na opencv. Nasledoval som mnoho návodov na nastavenie otvoreného CV v maline, ale zakaždým sa vyskytlo niekoľko chýb. Každopádne som