![Opencv arcfelismerés, képzés és felismerés: 3 lépés Opencv arcfelismerés, képzés és felismerés: 3 lépés](https://i.howwhatproduce.com/images/006/image-16218-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47
![Opencv arcfelismerés, képzés és felismerés Opencv arcfelismerés, képzés és felismerés](https://i.howwhatproduce.com/images/006/image-16218-1-j.webp)
Az OpenCV egy nyílt forráskódú számítógépes látáskönyvtár, amely nagyon népszerű olyan alapvető képfeldolgozási feladatok elvégzéséhez, mint az elmosódás, a képkeverés, a képminőség javítása, valamint a videó minősége, a küszöbértékek stb. modellek, amelyek közvetlenül használhatók az egyszerű feladatok megoldására.
az opencv telepítéséhez használja ezt a linket
www.instructables.com/id/Opencv-and-Python…
1. lépés: Az arc felismerése valós idejű videóban
a Google -ban sok arcfelismerő programot kereshet, és az észlelt arcokat egy mappába kell menteni a további képfeldolgozási dolgokhoz, például képzéshez és címkézéshez. 30 mintát fogunk gyűjteni
import cv2
importálja a numpy -t np -ként
import os import sys
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #add a harcascade fájl elérési útját
name = raw_input ("Mi a neve?")
#minden fájl a Users/prasad/Documents/images mappába kerül mentésre
dirName = "/Users/prasad/Documents/images/" + név
print (dirName), ha nem os.path.exists (dirName): os.makedirs (dirName) print ("Címtár létrehozva") else: print ("A név már létezik") sys.exit ()
szám = 1
#30 mintát fogunk gyűjteni
míg a 30 -as szám: break # frame = frame.array szürke = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) arcok = faceCascade.detectMultiScale (szürke, 1,5, 5) az (x, y, w, h) esetén: roiGray = szürke [y: y + h, x: x + w] fileName = dirName + "/" + name + str (count) + ".jpg" cv2.imwrite (fileName, roiGray) cv2.imshow ("face", roiGray) cv2.rectangle (keret, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('keret', keret) kulcs = cv2.waitKey (1)
ha kulcs == 27:
szünet
#camera.release ()
cv2.destroyAllWindows ()
2. lépés: A mintaképek betanítása
Az Arcfelismerés befejezése után mehetünk a képek betanítására
importálja az osimport numpy -t np -ként a PIL importálásából Image import cv2 import pác #import serial
#ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
felismerő = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ fájl_))
#mozgassa a képeket a képek mappa alatt
imageDir = os.path.join (baseDir, "képek")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("Képzés…..". encode ())
root, dirs, os.walk fájlokban (imageDir):
print (root, dirs, files) a fájlokban lévő fájlokhoz: print (file) if file.endswith ("png") vagy file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (root) print (címke)
ha nincs címke a címkében
labelIds [label] = currentId print (labelIds) currentId += 1
id_ = labelIds [címke]
pilImage = Image.open (elérési út).convert ("L") imageArray = np.array (pilImage, "uint8") arcok = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
(x, y, w, h) esetén:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
nyitott ("címkék", "wb"), mint f:
savanyúság.dump (labelIds, f) f.close ()
elismerő.vonat (xTrain, np.array (yLabels))
elismerő.save ("trainer.yml") print (labelIds)
3. lépés: Az arcok felismerése
az edzés befejezése után futtathatja az alábbi kódot, hogy elkezdje felismerni képzett arcát
import osos.environ ['PYTHONINSPECT'] = 'on' import cv2 import numpy as np import pácolt #import RPi. GPIO mint GPIO from time import alvó
nyitott ("címkék", "rb") mint f:
dicti = savanyúság. terhelés (f) f. zárás ()
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
felismerő = cv2.face. LBPHFaceRecognizer_create () felismerő.read ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
utolsó ="
#for frame in camera.capture_continuous (rawCapture, format = "bgr", use_video_port = True):
míg igaz: ret, frame = camera.read () szürke = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) arcok = faceCascade.detectMultiScale (szürke, scaleFactor = 1,5, minNeighbours = 5) (x, y, w, h) arcokban: roiGray = szürke [y: y+h, x: x+w]
id_, conf = felismerő.predict (roiGray)
név, érték a dicti.items () fájlban:
if value == id_: print (név) cv2.putText (keret, név, (x, y), betűtípus, 2, (0, 0, 255), 2, cv2. LINE_AA) ha név! = last: last = név, ha conf <= 70: cv2.rectangle (frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('keret', keret)
kulcs = cv2.waitKey (1)
ha kulcs == 27:
break cv2.destroyAllWindows ()
Ajánlott:
MATLAB Egyszerű arcfelismerés: 4 lépés
![MATLAB Egyszerű arcfelismerés: 4 lépés MATLAB Egyszerű arcfelismerés: 4 lépés](https://i.howwhatproduce.com/images/002/image-3173-3-j.webp)
MATLAB egyszerű arcfelismerés: Ennek az oktatóanyagnak a fő célja az, hogy megmutassa, mennyire egyszerű lesz a képfeldolgozás. A MATLAB segítségével az arcfelismerés és -követés fontos és aktív kutatási terület, ezért elmagyarázom hogyan lehet ezt megcsinálni
Micro: bit MU Vision Sensor kezdőknek - Címkeértékek és számkártya felismerés: 6 lépés
![Micro: bit MU Vision Sensor kezdőknek - Címkeértékek és számkártya felismerés: 6 lépés Micro: bit MU Vision Sensor kezdőknek - Címkeértékek és számkártya felismerés: 6 lépés](https://i.howwhatproduce.com/images/006/image-16852-j.webp)
Micro: bit MU Vision Sensor kezdőknek - Címkeértékek és számkártya felismerés: Ez a második útmutatóm az MU látásérzékelőhöz. Ebben a projektben a micro: bitet programozzuk a különböző számkártyák felismerésére a címke értékei segítségével
Arcfelismerés és azonosítás - Arduino arcazonosító OpenCV Python és Arduino használatával: 6 lépés
![Arcfelismerés és azonosítás - Arduino arcazonosító OpenCV Python és Arduino használatával: 6 lépés Arcfelismerés és azonosítás - Arduino arcazonosító OpenCV Python és Arduino használatával: 6 lépés](https://i.howwhatproduce.com/images/007/image-19436-j.webp)
Arcfelismerés és azonosítás | Arduino arcazonosító az OpenCV Python és Arduino használatával .: Arcfelismerés Az AKA arcazonosító manapság az egyik legfontosabb funkció a mobiltelefonokban. Tehát felmerült bennem egy kérdés, " kaphatok arcazonosítót az Arduino projektemhez " és a válasz igen … Utazásom a következőképpen kezdődött: 1. lépés: Hozzáférés
Opencv arcfelismerés: 4 lépés
![Opencv arcfelismerés: 4 lépés Opencv arcfelismerés: 4 lépés](https://i.howwhatproduce.com/images/003/image-7376-11-j.webp)
Opencv arcfelismerés: Az arcfelismerés manapság meglehetősen gyakori dolog, sok olyan alkalmazásban, mint az okostelefonok, sok elektronikus eszköz. Ez a fajta technológia sok algoritmust és eszközt tartalmaz, stb
Arcfelismerés+felismerés: 8 lépés (képekkel)
![Arcfelismerés+felismerés: 8 lépés (képekkel) Arcfelismerés+felismerés: 8 lépés (képekkel)](https://i.howwhatproduce.com/images/001/image-619-124-j.webp)
Arcfelismerés+felismerés: Ez egy egyszerű példa a futó arcfelismerésre és -felismerésre az OpenCV segítségével a fényképezőgépről. MEGJEGYZÉS: EZT A PROJEKTET AZ ÉRZÉKELŐ VERSENYRE KÉSZÍTETTEM, ÉS A KAMERÁT ÉRZÉKELŐKÉNT HASZNÁLTAM A PÁLYÁZÁSI ÉS FELISMERÉSI FELÜLETEKRE. Tehát a célunk ezen a munkameneten: 1. Telepítse az Anaconda