Tartalomjegyzék:
- 1. lépés: A szükséges dolgok
- 2. lépés: Opencv-Intro és telepítés
- 3. lépés: Arc felismerése és felismerése valós idejű videóban
- 4. lépés: A kód futtatása
Videó: Opencv arcfelismerés: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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. Az OpenCV -hez hasonló könyvtárakban mostantól arcfelismerést is hozzáadhat saját alkalmazásaihoz, például a biztonsági rendszerekhez.
Ebben a projektben elmondom, hogyan lehet felépíteni az arcfelismerést Raspberry Pi használatával, és az arduino+Lcd -t használtuk a személy nevének megjelenítésére.
1. lépés: A szükséges dolgok
1. MÁRKA PI
2. ARDUINO UNO / NANO
3,16x2 LCD kijelző
4. RASPI-CAMERA / WEBcam (jobb webkamerát preferálok a jobb eredmény érdekében)
2. lépés: Opencv-Intro és telepítés
Az OpenCV (nyílt forráskódú számítógépes látókönyvtár) nagyon hasznos könyvtár - számos hasznos funkciót kínál, például szövegfelismerést, arcfelismerést, objektumfelismerést, mélységi térképek készítését és gépi tanulást.
Ez a cikk bemutatja, hogyan telepítheti az Opencv -t és más könyvtárakat a Raspberry Pi -re, amelyek hasznosak lehetnek objektumfelismerés és egyéb projektek végrehajtásakor. Innentől megtanuljuk, hogyan kell kép- és videóműveleteket végrehajtani egy objektumfelismerő és gépi tanulási projekt végrehajtásával. Konkrétan egy egyszerű kódot írunk a képen lévő arcok észlelésére.
Mi az OpenCV?
Az OpenCV egy nyílt forráskódú számítógépes látás- és gépi tanulási szoftverkönyvtár. Az OpenCV -t BSD licenc alatt adják ki, így ingyenes mind tudományos, mind kereskedelmi használatra. C ++, Python és Java interfészekkel rendelkezik, és támogatja a Windows, Linux, Mac OS, iOS és Android rendszereket. Az OpenCV-t a számítási hatékonyság érdekében tervezték, és nagy hangsúlyt fektettek a valós idejű alkalmazásokra.
Hogyan telepíthetem az OpenCV -t egy Raspberry Pi -re?
Az OpenCV telepítéséhez telepítenünk kell a Python programot. Mivel a Raspberry Pis előre telepített Python -szal, közvetlenül telepíthetjük az OpenCV -t.
Gépelje be az alábbi parancsokat, hogy megbizonyosodjon arról, hogy a Raspberry Pi naprakész, és frissítse a Raspberry Pi telepített csomagjait a legújabb verzióra.
sudo apt-get updatesudo apt-get upgrade
Írja be a következő parancsokat a terminálba, hogy telepítse a szükséges csomagokat az OpenCV -hez a Raspberry Pi -re.
sudo apt install libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswscale4 libqtgui4 libqt4-test libqtcore4
Írja be a következő parancsot az OpenCV 3 for Python 3 telepítéséhez a Raspberry Pi -re. A pip3 azt mondja, hogy az OpenCV telepítésre kerül a Python 3 számára.
sudo pip3 install opencv-contrib-python libwebp6
Most telepíteni kell az OpenCV -t.
(ha bármilyen hiba történt: akkor is megteheti az alábbi link segítségével
https://www.instructables.com/id/Raspberry-Pi-Hand…)
Most ne siessen, ellenőriznünk kell, hogy megfelelően lett -e telepítve
Teszteld az opencv -t:
1. menjen a terminálhoz, és írja be a "python" -t
2. akkor írja be az "import cv2" -t.
3. akkor írja be a "cv2._ version_" parancsot.
majd telepítse ezeket a könyvtárakat
pip3 install python-numpy
pip3 telepítse a python-matplotlib programot
Tesztkód arcok észleléséhez a képen:
import cv2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml");
image = cv2.imread ('a fájl neve') #example cv2.imread ('home/pi/Desktop/filename.jpg')
a kimenetet úgy kapja meg, mint egy négyzet alakú dobozokat a képen látható emberek arcán.
3. lépés: Arc felismerése és felismerése valós idejű videóban
import cv2
importálja a numpy -t np -ként
importál
sorozat importálása
ser = soros. Serial ('/dev/ttyACM0', 9600, timeout = 1) #/dev/ttyACM0 változhat az Ön esetében, az arduino -tól függ
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
felismerő = cv2.face.createLBPHFaceRecognizer ()
képek =
címkék =
fájlnévhez az os.listdir ('Dataset') fájlban:
im = cv2.imread ('Dataset/'+fájlnév, 0)
images.append (im)
labels.append (int (fájlnév.osztás ('.') [0] [0]))
#print fájlnév
names_file = open ('labels.txt')
names = names_file.read (). split ('\ n')
elismerő.vonat (képek, np.tömb (címkék))
print 'Képzés kész… '
font = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # a videoeszköz
lastRes = '' count = 0
míg (1):
_, frame = cap.read ()
szürke = cv2.cvtColor (keret, cv2. COLOR_BGR2GRAY)
arcok = faceCascade.detectMultiScale (szürke, 1.3, 5)
szám+= 1
(x, y, w, h) esetén:
cv2.téglalap (keret, (x, y), (x+w, y+h), (255, 0, 0), 2)
ha szám> 20: res = nevek [felismerő.jóslás (szürke [y: y+h, x: x+w])-1]
ha res! = lastRes:
lastRes = res
nyomtatás lastRes
ser.write (lastRes)
szám = 0
szünet
cv2.imshow ('keret', keret)
k = 0xFF & cv2.waitKey (10)
ha k == 27:
szünet
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
4. lépés: A kód futtatása
1. Töltse le az előző lépésben csatolt fájlokat
2. másolja a szürke fényképeket (6 kép/ minta…..) az adatkészlet mappájába
1. Tom Cruise 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 (adathalmaz képszáma a nyitottabb adathalmaz mappához)
2. Brad Pitt-2_1, 2_2, 2_3, 2_4, 2_5, 2_6
3. Oroszlán-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
a fentiekhez hasonlóan hozzáadhatja a címkéket a megfelelő személyekhez,
tehát ha a pi bármilyen arcot észlel az 1_1, 1_2, 1_3, 1_4, 1_5, 1_6 között, akkor Tom Cruise néven tüntették fel, ezért kérjük, legyen óvatos a fotók feltöltésekor ………………
majd csatlakoztassa az arduino -t a málna Pi -hez, és végezze el a változtatásokat a main.py kódoló = soros. Serial ('/dev/ttyACM0', 9600, timeout = 1) 3. írja be az összes letöltött fájlt (main.py, dataset mappa, haarcascade_frontalface_default.xml egy mappában.)
3. Most nyissa meg a Raspi-terminált, futtassa a kódot a "sudo python main.py" segítségével
Ajánlott:
MATLAB Egyszerű arcfelismerés: 4 lépés
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
Opencv arcfelismerés, képzés és felismerés: 3 lépés
Opencv arcfelismerés, képzés és felismerés: 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, képkeverés, a kép javítása, valamint a videó minősége, küszöbértékek stb. A képfeldolgozás mellett bizonyít
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ó 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
Arcfelismerés a gyakorlatban: 21 lépés
Arcfelismerés a gyakorlatban: Ez a téma annyira lenyűgöz, hogy elveszítem az alvásomat: A számítógépes látás, a tárgyak és emberek észlelése egy előre betanított modell segítségével
Arcfelismerés Smart Lock LTE Pi HAT segítségével: 4 lépés
Intelligens arcfelismerő zár az LTE Pi HAT segítségével: Az arcfelismerést egyre szélesebb körben használják, ezzel intelligens zárat készíthetünk