Orodha ya maudhui:
- Hatua ya 1: Kugundua Uso katika Video ya Wakati Halisi
- Hatua ya 2: Kufundisha Picha Zako za Mfano
- Hatua ya 3: Kutambua Nyuso
Video: Kugundua Uso wa Opencv, Mafunzo na Utambuzi: Hatua 3
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
OpenCV ni maktaba ya maono ya kompyuta ya chanzo wazi ambayo ni maarufu sana kwa kufanya kazi za kimsingi za usindikaji wa picha kama vile kung'ara, uchanganyaji wa picha, kuongeza picha pamoja na ubora wa video, kuzuia nk. Mbali na usindikaji wa picha, hutoa mafunzo anuwai ya awali ya mafunzo ya kina mifano ambayo inaweza kutumika moja kwa moja kutatua kazi rahisi zilizo karibu.
kwa usanidi wa opencv tumia kiunga hiki
www.instructables.com/id/Opencv-and-Python…
Hatua ya 1: Kugundua Uso katika Video ya Wakati Halisi
unaweza kutafuta google kwa programu nyingi za kugundua uso na nyuso zilizogunduliwa zinapaswa kuhifadhiwa kwenye folda kwa usindikaji wa picha zaidi kama mafunzo na uwekaji lebo. tunakwenda kukusanya sampuli 30
kuagiza cv2
kuagiza numpy kama np
kuagiza os kuagiza sys
kamera = cv2. Ukamataji wa Video (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") # ongeza njia yako ya faili ya harcascade
name = raw_input ("Jina lake ni nani?")
# faili zote zitahifadhiwa chini ya folda ya Watumiaji / prasad / Nyaraka / picha
dirName = "/ Watumiaji / prasad / Nyaraka / picha /" + jina
chapa (dirName) ikiwa sivyo os.path.exists (dirName): os.makedirs (dirName) chapa ("Saraka Imeundwa") mwingine: chapisha ("Jina tayari lipo") sys.exit ()
hesabu = 1
#tutaenda kukusanya sampuli 30
wakati hesabu ya 30: kuvunja # fremu = fremu. rangi ya kijivu = cv2.cvtColor (fremu, cv2. COLOR_BGR2GRAY) nyuso = faceCascade.detectMultiScale (kijivu, 1.5, 5) kwa (x, y, w, h) katika nyuso: roiGray = kijivu [y: y + h, x: x + w] fileName = dirName + "/" + name + str (count) + ".jpg" cv2.imwrite (fileName, roiGray) cv2.imshow ("uso", roiGray cv2. mstatili (fremu, (x, y), (x + w, y + h), (0, 255, 0), 2) hesabu + = 1 cv2. onyesha ('fremu', fremu) ufunguo = cv2 Subiri (1)
ikiwa ufunguo == 27:
kuvunja
# kamera. tafadhali ()
cv2.destroyAll Windows ()
Hatua ya 2: Kufundisha Picha Zako za Mfano
Baada ya kugundua uso kukamilika basi tunaweza kwenda kufundisha picha
kuagiza osimport numpy kama np kutoka PIL kuagiza picha kuagiza cv2 kuagiza kachumbari #import serial
#ser = serial. Serial ('/ dev / ttyACM0', 9600, muda wa kumaliza = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
kitambuzi = cv2.face. LBPHFaceRecognizer_create ()
msingiDir = os.path.dirname (os.path.abspath (_ file_))
#funza picha chini ya folda ya picha
imageDir = os.path.join (baseDir, "picha")
sasaId = 1
labelIds = {} yLabels = xTrain = # ser.write ("Mafunzo…..". encode ())
kwa mizizi, dirs, faili katika os.walk (imageDir):
chapa (mzizi, dirs, faili) kwa faili katika faili: chapisha (faili) ikiwa faili.endani na ("png") au file.enday ("jpg"): path = os.path.join (root, file) label = os.path.basename (mizizi) chapa (lebo)
ikiwa sio lebo katika studioIds:
studioIds [lebo] = sasaId kuchapisha (leboIds) sasaId + = 1
id_ = studioIds [lebo]
pilImage = Image. fungua (njia). kubadilisha ("L") imageArray = np.array (pilImage, "uint8") nyuso = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minWajirani = 5)
kwa (x, y, w, h) katika nyuso:
picha = pichaArray [y: y + h, x: x + w] xTrain.append (roi) yLabels.append (id_)
na wazi ("lebo", "wb") kama f:
kachumbari. dampo (lebo za Matangazo, f) f. funga ()
kitambuzi. mafunzo (xTrain, np.array (yLabels))
tambua kitambulisho ("mkufunzi.yml") chapa (lebo za matangazo)
Hatua ya 3: Kutambua Nyuso
baada ya mafunzo kumalizika sasa unaweza kukimbia nambari iliyo chini ili iweze kuanza kutambua sura zako zilizofunzwa
kuagiza osos.environ ['PYTHONINSPECT'] = 'on' import cv2 import numpy as np import pickle #import RPi. GPIO as GPIO from time import sleep
na wazi ('lebo', 'rb') kama f:
dicti = kachumbari. mzigo (f) f. funga ()
kamera = cv2. VideoCapture (0)
usoCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
kitambuzi = cv2.face. LBPHFaceRecognizer_create () kitambulisho.soma ("mkufunzi.yml")
fonti = cv2. FONT_HERSHEY_SIMPLEX
mwisho ="
# kwa fremu katika kamera.
wakati Kweli: ret, fremu = kamera.soma () kijivu = cv2.cvtColor (fremu, cv2. COLOR_BGR2GRAY) nyuso = faceCascade.detectMultiScale (kijivu, scaleFactor = 1.5, min Majirani = 5) kwa (x, y, w, h) katika nyuso: roiGray = kijivu [y: y + h, x: x + w]
id_, conf = kutambua. utabiri (roiGray)
kwa jina, thamini katika dicti.items ():
ikiwa thamani == id_: chapa (jina) cv2.putText (fremu, jina, (x, y), fonti, 2, (0, 0, 255), 2, cv2. LINE_AA) ikiwa jina! = mwisho: mwisho = jina ikiwa conf <= 70: cv2. mstatili (fremu, (x, y), (x + w, y + h), (0, 255, 0), 2)
cv2.imshow ('fremu', fremu)
ufunguo = cv2.waitKey (1)
ikiwa ufunguo == 27:
kuvunja cv2.destroyAll Windows ()
Ilipendekeza:
Utambuzi wa Uso na Kitambulisho - Kitambulisho cha Uso cha Arduino Kutumia OpenCV Python na Arduino .: Hatua 6
Utambuzi wa Uso na Kitambulisho | Kitambulisho cha Uso cha Arduino Kutumia OpenCV Chatu na Arduino .: Utambuzi wa uso Kitambulisho cha uso cha AKA ni moja ya huduma muhimu sana kwenye simu za rununu siku hizi. Kwa hivyo, nilikuwa na swali " je! Ninaweza kuwa na kitambulisho cha uso kwa mradi wangu wa Arduino " na jibu ni ndio … Safari yangu ilianza kama ifuatavyo: Hatua ya 1: Ufikiaji wetu
Uso wa Kubadilisha uso wa uso - Kuwa Chochote: Hatua 14 (na Picha)
Uso wa Kubadilisha Uso wa Makadirio - Kuwa Chochote: Unafanya nini wakati hauwezi kuamua unachotaka kuwa Halloween? Kuwa kila kitu. Kinga ya makadirio inajumuisha maski nyeupe iliyochapishwa ya 3D, pi ya rasipberry, projekta ndogo na kifurushi cha betri. Inauwezo wa kutengeneza kitu chochote na kila kitu
Utambuzi wa Uso wa Opencv: Hatua 4
Utambuzi wa Uso wa Opencv: Utambuzi wa uso ni jambo la kawaida sasa kwa siku, katika matumizi mengi kama simu mahiri, vifaa vingi vya elektroniki. Aina hii ya teknolojia inajumuisha maagizo na zana nyingi. Ambayo hutumia majukwaa ya SOC yaliyopachikwa kama Raspberry
Kugundua Uso + utambuzi: Hatua 8 (na Picha)
Utambuzi wa Uso + Utambuzi: Huu ni mfano rahisi wa kugundua uso na utambuzi na OpenCV kutoka kwa kamera. KUMBUKA: NILIFANYA MRADI HUU KWA MASHINDANO YA SENSOR NA NILITUMIA KAMERA kama sensorer ya kufuatilia na nyuso za utambuzi. Kwa hivyo, Lengo letuKatika kikao hiki, 1. Sakinisha Anaconda
Kugundua Uso na Jicho na Raspberry Pi Zero na Opencv: Hatua 3
Kugundua Uso na Jicho na Raspberry Pi Zero na Opencv: Katika hii inaelekezwa nitaonyesha jinsi unaweza kugundua uso na jicho ukitumia rasipiberi pi na opencv. Hii ni ya kwanza kufundishwa kwenye opencv. Nilifuata mafunzo mengi kuanzisha cv wazi kwenye rasiberi lakini kila wakati iligongwa na makosa kadhaa. Kwa vyovyote i