Mündəricat:
- Addım 1: Real Videoda Üzün Algılanması
- Addım 2: Nümunə Şəkillərinizi Təlim edin
- Addım 3: Üzlərin tanınması
Video: Opencv Üz Tanıma, Təlim və Tanıma: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
OpenCV, bulanıklaşdırma, şəkil qarışdırma, görüntü keyfiyyətinin artırılması, video keyfiyyəti, eşik və s. sadə vəzifələri həll etmək üçün birbaşa istifadə edilə bilən modellər.
opencv quraşdırılması üçün bu linki istifadə edin
www.instructables.com/id/Opencv-and-Python…
Addım 1: Real Videoda Üzün Algılanması
bir çox üz tanıma proqramı üçün google -da axtarış edə bilərsiniz və aşkar edilmiş üzlər təlim və etiketləmə kimi şəkillərin işlənməsi üçün qovluqda saxlanılmalıdır. 30 nümunə toplayacağıq
idxal cv2
np kimi numpy idxal edin
idxal sistemi idxal edin
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") #harcascade fayl yolunuzu əlavə edin
name = raw_input ("Adı nədir?")
#bütün fayllar İstifadəçilər/prasad/Sənədlər/şəkillər qovluğunda saxlanılacaq
dirName = "/İstifadəçilər/prasad/Sənədlər/şəkillər/" + adı
print (dirName) deyilsə os.path.exists (dirName): os.makedirs (dirName) print ("Directory Created") else: print ("Name is allaqachon var") sys.exit ()
say = 1
#30 nümunə toplayacağıq
30 sayında: break # frame = frame.array grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) faces = faceCascade.detectMultiScale (boz, 1.5, 5) üzlərində (x, y, w, h): roiGray = boz [y: y + h, x: x + w] fileName = dirName + "/" + name + str (count) + ".jpg" cv2.imwrite (fileName, roiGray) cv2.imshow ("üz", roiGray) cv2.dörtbucaq (çərçivə, (x, y), (x+w, y+h), (0, 255, 0), 2) count+= 1 cv2.imshow ('frame', frame) key = cv2. gözləyin açarı (1)
əgər açar == 27:
fasilə
#kamera.release ()
cv2.destroyAllWindows ()
Addım 2: Nümunə Şəkillərinizi Təlim edin
Üz Algılama tamamlandıqdan sonra şəkilləri öyrətməyə gedə bilərik
PIL idxaldan np olaraq osimport numpy idxal Şəkil idxal cv2 idxal turşu #idxal serial
#ser = serial. Serial ('/dev/ttyACM0', 9600, zaman aşımı = 1)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
tanıyıcı = cv2.face. LBPHFaceRecognizer_create ()
baseDir = os.path.dirname (os.path.abspath (_ fayl_))
#şəkilləri qovluq altından öyrədin
imageDir = os.path.join (baseDir, "şəkillər")
currentId = 1
labelIds = {} yLabels = xTrain = #ser.write ("Təlim…..". kodla ())
os.walk -dakı kök, dirs, fayllar üçün (imageDir):
fayllardakı fayl üçün print (kök, dirs, fayllar): print (file) if file.endswith ("png") or file.endswith ("jpg"): path = os.path.join (root, file) label = os.path.basename (kök) çap (etiket)
labelIds etiketində deyilsə:
labelIds [label] = currentId çap (labelIds) currentId += 1
id_ = labelIds [etiket]
pilImage = Image.open (yol).convert ("L") imageArray = np.array (pilImage, "uint8") üzlər = faceCascade.detectMultiScale (imageArray, scaleFactor = 1.1, minNeighbors = 5)
üzlərdə (x, y, w, h) üçün:
roi = imageArray [y: y+h, x: x+w] xTrain.append (roi) yLabels.append (id_)
açıq olaraq ("etiketlər", "wb") f olaraq:
pickle.dump (labelIds, f) f.close ()
tanıyıcı.train (xTrain, np.array (yLabels))
tanıyıcı.save ("trainer.yml") çap (labelIds)
Addım 3: Üzlərin tanınması
Təlim bitdikdən sonra aşağıdakı kodu işə sala bilərsiniz ki, təlim görmüş üzlərinizi tanımağa başlasın
idxal osos.environ ['PYTHONINSPECT'] = 'on' cv2 idxal nömrəsi np idxal turşusu olaraq #idxal RPi. GPIO vaxt idxal yuxusundan GPIO olaraq
açıq olaraq ('etiketlər', 'rb') f olaraq:
dicti = turşu yükü (f) f.close ()
kamera = cv2. VideoCapture (0)
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml")
tanıyıcı = cv2.face. LBPHFaceRecognizer_create () tanıyıcı. oxu ("trainer.yml")
font = cv2. FONT_HERSHEY_SIMPLEX
son = ''
#camera.capture_continuousdakı çərçivə üçün (rawCapture, format = "bgr", use_video_port = True):
while True: ret, frame = camera.read () grey = cv2.cvtColor (frame, cv2. COLOR_BGR2GRAY) üzlər = faceCascade.detectMultiScale (boz, miqyasFactor = 1.5, minNeighbors = 5) (x, y, w, h) üçün üzlərdə: roiGray = boz [y: y+h, x: x+w]
id_, conf = tanıyıcı.predikt (roiGray)
adı üçün, dicti.items () dəyərində:
əgər dəyər == id_: print (ad) cv2.putText (çərçivə, ad, (x, y), font, 2, (0, 0, 255), 2, cv2. LINE_AA) əgər ad! = son: son = conf <= 70 olduqda ad: cv2.dörtgen (çərçivə, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow ('çərçivə', çərçivə)
açar = cv2.waitKey (1)
əgər açar == 27:
cv2.destroyAllWindows -u kəsin ()
Tövsiyə:
Kompüter Görmə (OpenCV) istifadə edərək ulduz tanıma: 11 addım (şəkillərlə)
Kompüter Görmə (OpenCV) istifadə edərək Ulduz Tanıma: Bu təlimat, şəkildəki ulduz nümunələrini avtomatik olaraq təyin etmək üçün kompüter görmə proqramının necə yaradılacağını sizə izah edəcək. Metod, bir sıra təlim keçmiş HAAR kaskadları yaratmaq üçün OpenCV (Açıq Mənbə Kompüter Görmə) kitabxanasından istifadə edir
Üz Tanıma və Tanıma - OpenCV Python və Arduino istifadə edərək Arduino Face ID: 6 Addım
Üz Tanıma və Tanıma | OpenCV Python və Arduino istifadə edərək Arduino Face ID: Üz tanıma AKA üz ID indiki zamanda cib telefonlarında ən əhəmiyyətli xüsusiyyətlərdən biridir. Beləliklə, bir sualım var idi: "Arduino layihəm üçün üz idim ola bilərmi?" və cavab bəli … Səyahətim belə başladı: Addım 1: Bizə giriş
Qıvrımlı Təlim Maşını: 4 addım
Qatlanan Təlim Maşını: Bu layihəni hazırlayıram, çünki indi hər yerdə koronavirus var və insanlar evdə heç bir şey etməməkdən bezirlər. Bu maşın bədəninizi və sprint bacarıqlarınızı öyrədə bilər. Bu maşın sevən insanları məcbur edir, amma çölə çıxa bilmirlər
Opencv Üz Tanıma: 4 addım
Opencv Üz Tanıma: Günümüzdə ağıllı telefonlar, bir çox elektron qurğular kimi bir çox tətbiqdə üz tanıma olduqca yaygın bir şeydir
Üz Tanıma+Tanıma: 8 Addım (Şəkillərlə birlikdə)
Üz Algılama+tanıma: Bu, bir kameradan OpenCV ilə üz tanıma və tanıma işlərinin sadə bir nümunəsidir. DİQQƏT: BU PROJƏNİ SENSOR MÜSABİQƏSİ ÜÇÜN YAPDIM VƏ YÜZLƏRİ İZLƏMƏK VƏ TANIŞI YÜZÜNÜN KAMERASINDAN İSTİFADƏ ETDİM