INHOUDSOPGAWE:
- Stap 1: Dinge wat u nodig het
- Stap 2: Opencv-bekendstelling en installasie
- Stap 3: Ontdek en herken gesig in 'n real -time video
- Stap 4: Gebruik die kode
Video: Opencv gesigherkenning: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Gesigsherkenning is deesdae redelik algemeen, in baie toepassings soos slimfone, baie elektroniese toestelle. Hierdie soort tegnologie behels baie algoritmes en gereedskap, ens. biblioteke soos OpenCV, kan u nou gesigherkenning by u eie toepassings voeg, soos sekuriteitstelsels.
In hierdie projek sal ek u vertel hoe u 'n gesigsherkenning kan bou met 'n Raspberry Pi en ons het arduino+Lcd gebruik om die naam van die persoon te vertoon.
Stap 1: Dinge wat u nodig het
1. Raspberry PI
2. ARDUINO UNO / NANO
3.16x2 LCD -skerm
4. RASPI-CAMERA / WEBcam (ek verkies webcam vir beter resultate)
Stap 2: Opencv-bekendstelling en installasie
OpenCV (open source computer vision library) is 'n baie nuttige biblioteek - dit bied baie nuttige funksies soos teksherkenning, gesigherkenning, objekopsporing, die skep van dieptekaarte en masjienleer.
Hierdie artikel sal u wys hoe u Opencv en ander biblioteke op Raspberry Pi kan installeer wat handig sal wees by die opsporing van voorwerpe en ander projekte. Van daar af leer ons hoe om beeld- en video -bewerkings uit te voer deur 'n voorwerpherkenning- en masjienleerprojek uit te voer. Ons skryf spesifiek 'n eenvoudige kode om gesigte in 'n prent op te spoor.
Wat is OpenCV?
OpenCV is 'n open source rekenaarvisie en masjienleer sagteware biblioteek. OpenCV word vrygestel onder 'n BSD -lisensie, wat dit gratis maak vir akademiese en kommersiële gebruik. Dit het C ++, Python en Java -koppelvlakke en ondersteun Windows, Linux, Mac OS, iOS en Android. OpenCV is ontwerp vir rekenkundige doeltreffendheid en 'n sterk fokus op intydse toepassings.
Hoe om OpenCV op 'n Raspberry Pi te installeer?
Om OpenCV te installeer, moet Python geïnstalleer word. Aangesien Raspberry Pis vooraf met Python gelaai is, kan ons OpenCV direk installeer.
Tik die opdragte hieronder om seker te maak dat u Raspberry Pi op datum is en om die geïnstalleerde pakkette op u Raspberry Pi op te dateer na die nuutste weergawes.
sudo apt-get updates sudo apt-get upgrade
Tik die volgende opdragte in die terminale om die vereiste pakkette vir OpenCV op u Raspberry Pi te installeer.
sudo apt installeer libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-toets libqtcore4
Tik die volgende opdrag om OpenCV 3 vir Python 3 op u Raspberry Pi te installeer, pip3 vertel ons dat OpenCV vir Python 3 geïnstalleer sal word.
sudo pip3 installeer opencv-contrib-python libwebp6
Nou moet OpenCV geïnstalleer word.
(as daar foute was: u kan dit steeds doen deur die onderstaande skakel te volg
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Moenie haastig wees nie; ons moet kyk of dit reg geïnstalleer is of nie
Toets u opencv deur:
1. gaan na u terminale en tik "python"
2. tik dan "invoer cv2".
3. tik dan "cv2._ version_".
installeer dan hierdie biblioteke
pip3 installeer python-numpy
pip3 installeer python-matplotlib
Toets kode om gesigte in 'n prent op te spoor:
voer cv2 in
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('u lêernaam') #voorbeeld cv2.imread ('home/pi/Desktop/lêernaam.jpg')
U kry die uitset soos 'n vierkantige boks op die gesigte van mense op die foto.
Stap 3: Ontdek en herken gesig in 'n real -time video
voer cv2 in
invoer numpy as np
invoer os
invoer reeks
ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 kan in u geval verander, hang af van die arduino
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
herkener = cv2.face.createLBPHFaceRecognizer ()
beelde =
etikette =
vir lêernaam in os.listdir ('Dataset'):
im = cv2.imread ('Dataset/'+lêernaam, 0)
beelde. voeg by (im)
labels.append (int (lêernaam.split ('.') [0] [0]))
#print lêernaam
names_file = open ('labels.txt')
name = name_file.read (). split ('\ n')
herkenner.trein (beelde, np.array (etikette))
druk 'Opleiding gedoen… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # jou video -toestel
lastRes = '' count = 0
terwyl (1):
_, raam = cap.read ()
grys = cv2.cvtColor (raam, cv2. COLOR_BGR2GRAY)
gesigte = faceCascade.detectMultiScale (grys, 1.3, 5)
tel+= 1
vir (x, y, w, h) in gesigte:
cv2. reghoek (raam, (x, y), (x+w, y+h), (255, 0, 0), 2)
as telling> 20: res = name [herkener.voorspelling (grys [y: y+h, x: x+w])-1]
as res! = lastRes:
lastRes = res
druk laaste Res
ser.write (lastRes)
tel = 0
breek
cv2.imshow ('raam', raam)
k = 0xFF & cv2.waitKey (10)
as k == 27:
breek
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
Stap 4: Gebruik die kode
1. Laai die lêers wat in die vorige stap aangeheg is, af
2. kopieer u grys foto's (6 beelde/ voorbeelde …..) na u gids met datastelle
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (datastel -beeldnommer vir meer oop datastelgids)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Leo-3_1, 3_2, 3_3, 3_4, 3_5, 3_6
4. Ironman4_1, 4_2, 4_3, 4_4, 4_5, 4_6
soos bogenoemde kan u die etikette vir die onderskeie persone byvoeg,
so as die pi 'n gesig tussen 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 opspoor, word dit as Tom Cruise aangedui, dus wees versigtig as u die foto's oplaai …………
en koppel dan jou arduino aan jou framboos Pi en maak veranderinge in die main.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. plaas al die afgelaaide lêers (main.py, dataset folder, haarcascade_frontalface_default.xml in een gids.)
3. Maak nou die Raspi-terminale oop, voer u kode uit met 'sudo python main.py'
Aanbeveel:
QR -kode skandeerder met behulp van OpenCV in Python: 7 stappe
QR-kode skandeerder met behulp van OpenCV in Python: In vandag se wêreld sien ons dat QR-kode en strepieskode byna oral gebruik word, van die verpakking van die produk tot die aanlynbetalings, en nou sien ons QR-kodes selfs in die restaurant om die spyskaart te sien. twyfel of dit nou die groot gedagte is. Maar het jy al ooit
Real-time Rubik's Cube Geblinddoekoplosser met behulp van Raspberry Pi en OpenCV: 4 stappe
Real-time Rubik's Cube Geblinddoekoplosser met behulp van Raspberry Pi en OpenCV: Dit is die 2de weergawe van Rubik se kubusgereedskap wat gemaak is vir die oplossing van geblinddoek. Die eerste weergawe is ontwikkel deur javascript; u kan die projek RubiksCubeBlindfolded1 sien, anders as die vorige, gebruik hierdie weergawe OpenCV -biblioteek om die kleure en e
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo for Android: 6 Stappe
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: DESCRI Ç Ã OO intuito do projeto é dar autonomia para deficientes visuais se locomoverem em ambientes indoor como casas ou shopping centers e aeroportos.A locomo ç ã o em ambientes j á mapeados pode ou n ã o s
Deurbel met gesigherkenning: 7 stappe (met foto's)
Deurklok met gesigsherkenning: motivering Daar was onlangs 'n vlaag rooftogte in my land wat op bejaardes in hul eie huise gemik is. Gewoonlik word toegang deur die insittendes self verleen, aangesien die besoekers hulle oortuig dat hulle versorgers/verpleegsters is. Dit
ESP32 CAM -gesigherkenning met MQTT -ondersteuning - AI-denker: 4 stappe
ESP32 CAM -gesigherkenning met MQTT -ondersteuning | AI-Denker: Hallo! Ek wou my kode vir 'n projek deel as ek 'n ESP CAM met gesigsherkenning moes hê, wat data na MQTT kon stuur. So goed .. na miskien 7 uur se kyk na verskeie voorbeelde van kode en op soek na wat is wat, het ek nog 'n paar punte