Kazalo:
- Korak: Stvari, ki jih potrebujete
- 2. korak: Opencv-Intro in namestitev
- 3. korak: Zaznavanje in prepoznavanje obraza v videoposnetku v realnem času
- 4. korak: Zaženite kodo
Video: Prepoznavanje obrazov Opencv: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Prepoznavanje obrazov je danes precej pogosta stvar, v številnih aplikacijah, kot so pametni telefoni, številni elektronski pripomočki. Ta vrsta tehnologije vključuje veliko algoritmov in orodij itd., Ki uporablja nekatere vgrajene vgrajene platforme SOC, kot sta Raspberry Pi in odprtokodni računalniški vid. knjižnice, kot je OpenCV, lahko zdaj dodate prepoznavanje obrazov v svoje aplikacije, kot so varnostni sistemi.
V tem projektu vam bom povedal, kako z uporabo Raspberry Pi ustvariti prepoznavanje obrazov in za prikaz imena osebe smo uporabili arduino+Lcd.
Korak: Stvari, ki jih potrebujete
1. MALINA PI
2. ARDUINO UNO / NANO
3,16 x 2 lcd Zaslon
4. RASPI-KAMERA / Spletna kamera (za boljše rezultate imam raje spletno kamero)
2. korak: Opencv-Intro in namestitev
OpenCV (odprtokodna knjižnica računalniškega vida) je zelo uporabna knjižnica - ponuja številne uporabne funkcije, kot so prepoznavanje besedila, prepoznavanje obrazov, zaznavanje predmetov, ustvarjanje zemljevidov globine in strojno učenje.
Ta članek vam bo pokazal, kako na Raspberry Pi namestite Opencv in druge knjižnice, ki vam bodo prišle prav pri odkrivanju objektov in drugih projektih. Od tam se bomo naučili izvajati slikovne in video operacije z izvajanjem projekta prepoznavanja objektov in strojnega učenja. Natančneje, napisali bomo preprosto kodo za zaznavanje obrazov na sliki.
Kaj je OpenCV?
OpenCV je odprtokodna knjižnica programske opreme za računalniški vid in strojno učenje. OpenCV je izdan pod licenco BSD, zato je brezplačen za akademsko in komercialno uporabo. Ima vmesnike C ++, Python in Java ter podpira Windows, Linux, Mac OS, iOS in Android. OpenCV je bil zasnovan za računalniško učinkovitost in velik poudarek na aplikacijah v realnem času.
Kako namestiti OpenCV na Raspberry Pi?
Če želimo namestiti OpenCV, moramo imeti nameščen Python. Ker je Raspberry Pis vnaprej naložen s Pythonom, lahko namestimo OpenCV neposredno.
Vnesite spodnje ukaze, da se prepričate, ali je vaš Raspberry Pi posodobljen in posodobite nameščene pakete na vašem Raspberry Pi na najnovejše različice.
sudo apt-get updatesudo apt-get upgrade
V terminal vnesite naslednje ukaze, da namestite potrebne pakete za OpenCV na vaš Raspberry Pi.
sudo apt namestite libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqt4-test libqt4
Vnesite naslednji ukaz za namestitev OpenCV 3 za Python 3 na vaš Raspberry Pi, pip3 nam pove, da bo OpenCV nameščen za Python 3.
sudo pip3 namestite opencv-contrib-python libwebp6
Zdaj bi morali namestiti OpenCV.
(če je prišlo do napak: še vedno lahko to storite s spodnjo povezavo
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Ne hitite, preveriti moramo, ali je pravilno nameščen ali ne
Preizkusite svoj opencv tako:
1. pojdite na svoj terminal in vnesite "python"
2. nato vnesite "import cv2".
3. nato vnesite "cv2._ version_".
nato namestite te knjižnice
pip3 namestite python-numpy
pip3 namestite python-matplotlib
Preskusna koda za zaznavanje obrazov na sliki:
uvoz cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('ime vaše datoteke') #example cv2.imread ('home/pi/Namizje/ime datoteke.jpg')
dobili boste rezultat, kot da so na obrazih ljudi, ki so na sliki, nastale kvadratne škatle.
3. korak: Zaznavanje in prepoznavanje obraza v videoposnetku v realnem času
uvoz cv2
uvoz numpy kot np
uvoz os
uvozi serijsko
ser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 se lahko v vašem primeru spremeni, odvisno od arduina
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
prepoznavalnik = cv2.face.createLBPHFaceRecognizer ()
slike =
oznake =
za ime datoteke v os.listdir ('Dataset'):
im = cv2.imread ('Nabor podatkov/'+ime datoteke, 0)
images.append (im)
labels.append (int (ime datoteke.split ('.') [0] [0]))
#print ime datoteke
names_file = open ('labels.txt')
names = names_file.read (). split ('\ n')
prepoznaval.train (slike, np.array (oznake))
natisni 'Usposabljanje končano… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # vaša video naprava
lastRes = '' count = 0
medtem ko (1):
_, okvir = cap.read ()
siva = cv2.cvtColor (okvir, cv2. COLOR_BGR2GRAY)
obrazov = faceCascade.detectMultiScale (siva, 1.3, 5)
štetje+= 1
za (x, y, w, h) v obrazih:
cv2.rectangle (okvir, (x, y), (x+w, y+h), (255, 0, 0), 2)
če šteje> 20: res = imena [prepoznavalnik.predvidi (sivo [y: y+h, x: x+w])-1]
če res! = lastRes:
lastRes = res
natisni lastRes
ser.write (lastRes)
štetje = 0
prekiniti
cv2.imshow ('okvir', okvir)
k = 0xFF & cv2.waitKey (10)
če je k == 27:
prekiniti
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
4. korak: Zaženite kodo
1. Prenesite datoteke, priložene v prejšnjem koraku
2. kopirajte svoje sive fotografije (6 slik/ vzorcev…..) v mapo nabora podatkov
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (številka slike nabora podatkov za bolj odprto mapo nabora podatkov)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Lev-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
tako kot zgoraj lahko dodate oznake za ustrezne osebe,
Torej, če pi zazna kateri koli obraz med 1_1, 1_2, 1_3, 1_4, 1_5, 1_6, je bil označen kot Tom Cruise, zato bodite previdni pri nalaganju fotografij ……………….
in nato povežite svoj arduino z malinovim Pi in naredite spremembe v main.py codeser = serial. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. vnesite vse prenesene datoteke (main.py, mapa nabora podatkov, haarcascade_frontalface_default.xml v eni mapi.)
3. Zdaj odprite terminal Raspi in zaženite kodo z "sudo python main.py"
Priporočena:
Abellcadabra (sistem zaklepanja vrat za prepoznavanje obrazov): 9 korakov
Abellcadabra (Sistem zaklepanja vrat za prepoznavanje obrazov): Med karanteno sem se nahajal in poskušal najti način, kako ubiti čas, tako da sem ustvaril prepoznavanje obrazov za hišna vrata. Poimenoval sem ga Abellcadabra - ki je kombinacija med Abracadabra, čarobno frazo z zvoncem na vratih, ki ga vzamem samo na zvonec. LOL
Odkrivanje obrazov Opencv, usposabljanje in prepoznavanje: 3 koraki
Odkrivanje, usposabljanje in prepoznavanje obrazov Opencv: OpenCV je odprtokodna knjižnica računalniškega vida, ki je zelo priljubljena za izvajanje osnovnih nalog obdelave slik, kot so zameglitev, mešanje slik, izboljšanje slike, pa tudi kakovost videa, določanje praga itd. to je prov
Prepoznavanje obrazov in identifikacija - Arduino Face ID z uporabo OpenCV Python in Arduino .: 6 korakov
Prepoznavanje obrazov in identifikacija | Arduino Face ID z uporabo OpenCV Python in Arduino .: Prepoznavanje obraza AKA Face ID je ena najpomembnejših značilnosti mobilnih telefonov danes. Tako sem imel vprašanje " ali lahko dobim ID obraza za svoj projekt Arduino " in odgovor je pritrdilen … Moje potovanje se je začelo na naslednji način: 1. korak: Dostop do nas
Pametna ključavnica za prepoznavanje obrazov z LTE Pi HAT: 4 koraki
Pametna ključavnica za prepoznavanje obrazov Z LTE Pi HAT: Prepoznavanje obrazov se vse bolj uporablja, z njo lahko naredimo pametno ključavnico
ESP32 CAM Prepoznavanje obrazov s podporo za MQTT - AI-Thinker: 4 koraki
ESP32 CAM Prepoznavanje obrazov s podporo za MQTT | AI-Thinker: Pozdravljeni! Želel sem deliti svojo kodo za projekt, če bi potreboval ESP CAM s prepoznavanjem obrazov, ki bi lahko pošiljal podatke v MQTT. Tako dobro .. po morda 7 urah iskanja več primerov kode in iskanja, kaj je kaj, imam končno