İçindekiler:
- Adım 1: Gerçek Zamanlı Videoda Yüz Algılama
- Adım 2: Örnek Resimlerinizi Eğitin
- Adım 3: Yüzleri Tanıma
Video: Opencv Yüz Algılama, Eğitim ve Tanıma: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
OpenCV, bulanıklaştırma, görüntü harmanlama, görüntünün yanı sıra video kalitesini iyileştirme, eşikleme vb. gibi temel görüntü işleme görevlerini gerçekleştirmek için çok popüler olan açık kaynaklı bir bilgisayarlı görü kitaplığıdır. Görüntü işlemeye ek olarak, çeşitli önceden eğitilmiş derin öğrenme sağlar. eldeki basit görevleri çözmek için doğrudan kullanılabilen modeller.
opencv kurulumu için bu bağlantıyı kullanın
www.instructables.com/id/Opencv-and-Python…
Adım 1: Gerçek Zamanlı Videoda Yüz Algılama
google'da birçok yüz algılama programı için arama yapabilirsiniz ve algılanan yüzler, eğitim ve etiketleme gibi daha fazla görüntü işleme için bir klasöre kaydedilmelidir. 30 örnek toplayacağız
cv2'yi içe aktar
numpy'yi np olarak içe aktar
os ithalat sys
kamera = cv2. VideoCapture(0)
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml") #harcascade dosya yolunuzu ekleyin
isim = raw_input("Adı ne? ")
#tüm dosyalar Users/prasad/Documents/images klasörüne kaydedilecek
dirName = "/Users/prasad/Documents/images/" + isim
print(dirName) os.path.exists(dirName) değilse: os.makedirs(dirName) print("Dizin Oluşturuldu") else: print("Ad zaten var") sys.exit()
sayı = 1
#30 örnek toplayacağız
while sayımı 30: break # frame = frame.array grey = cv2.cvtColor(frame, cv2. COLOR_BGR2GRAY) yüzler = faceCascade.detectMultiScale(gri, 1.5, 5) için (x, y, w, h) yüzlerde: roiGray = gri[y:y+h, x:x+w] dosyaAdı = dizinAdı + "/" + ad + str(sayım) + ".jpg" cv2.imwrite(dosyaAdı, roiGray) cv2.imshow("yüz", roiGray) cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) count += 1 cv2.imshow('frame', frame) key = cv2.waitAnahtarı(1)
eğer anahtar == 27:
kırmak
#camera.release()
cv2.destroyAllWindows()
Adım 2: Örnek Resimlerinizi Eğitin
Yüz Algılama tamamlandıktan sonra görüntüleri eğitmeye gidebiliriz.
osimport numpy'yi PIL'den np olarak içe aktar Görüntü içe aktar cv2 içe aktar turşu #seri içe aktar
#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(_file_))
#images klasörünün altındaki resimleri eğitin
imageDir = os.path.join(baseDir, "images")
akımKimliği = 1
labelIds = {} yLabels = xTrain = #ser.write("Eğitim…..".encode())
os.walk(imageDir) içindeki kök, dizinler, dosyalar için:
dosyalarda dosya için print(root, dirs, files): print(file) if file.endswith("png") veya file.endswith("jpg"): path = os.path.join(root, file) label = os.path.basename(root) print(etiket)
etiket kimliklerinde etiket değilse:
labelIds[label] = currentId print(labelIds) currentId += 1
id_ = etiketKimlikleri[etiket]
pilImage = Image.open(path).convert("L") imageArray = np.array(pilImage, "uint8") yüzler = faceCascade.detectMultiScale(imageArray, scaleFactor=1.1, minNeighbors=5)
yüzlerde (x, y, w, h) için:
roi = imageArray[y:y+h, x:x+w] xTrain.append(roi) yLabels.append(id_)
open("labels", "wb") ile f olarak:
pickle.dump(labelIds, f) f.close()
tanıyıcı.train(xTrain, np.array(yLabels))
tanıyıcı.save("trainer.yml") print(labelIds)
Adım 3: Yüzleri Tanıma
eğitim bittikten sonra şimdi aşağıdaki kodu çalıştırabilirsiniz, böylece eğitimli yüzlerinizi tanımaya başlayacaktır.
içe aktar osos.environ['PYTHOINSPECT'] = 'açık' cv2'yi içe aktar numpy'yi np olarak içe aktar #RPi. GPIO'yu GPIO olarak zamandan içe aktar uykudan
open('labels', 'rb') ile f olarak:
dicti = pickle.load(f) f.close()
kamera = cv2. VideoCapture(0)
faceCascade = cv2. CascadeClassifier("haarcascade_frontalface_default.xml")
tanıyıcı = cv2.face. LBPHFaceRecognizer_create() tanıyıcı.read("trainer.yml")
yazı tipi = cv2. FONT_HERSHEY_SIMPLEX
son =''
#for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
while True: ret, frame = camera.read() gray = cv2.cvtColor(frame, cv2. COLOR_BGR2GRAY) face = faceCascade.detectMultiScale(gray, scaleFactor = 1.5, minNeighbors = 5) for (x, y, w, h) yüzlerde: roiGray = gri[y:y+h, x:x+w]
id_, conf = tanıyıcı.predict(roiGray)
isim için dicti.items() içindeki değer:
if değer == id_: print(isim) cv2.putText(çerçeve, isim, (x, y), yazı tipi, 2, (0, 0, 255), 2, cv2. LINE_AA) if isim!=son: son= name if conf <= 70: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow('çerçeve', çerçeve)
anahtar = cv2.waitKey(1)
eğer anahtar == 27:
cv2.destroyAllWindows()'u kır
Önerilen:
Abellcadabra (Yüz Tanıma Kapı Kilit Sistemi): 9 Adım
Abellcadabra (Yüz Tanıma Kapı Kilit Sistemi): Karantina sırasında etrafta yatarak, ev kapısı için yüz tanıma sistemi kurarak zamanı öldürmenin bir yolunu bulmaya çalıştım. Ben ona Abellcadabra adını verdim - bu, sadece zili aldığım kapı zili ile sihirli bir ifade olan Abracadabra'nın birleşimidir. ÇOK KOMİK
Yüz Tanıma ve Tanımlama - OpenCV Python ve Arduino Kullanan Arduino Face ID: 6 Adım
Yüz Tanıma ve Tanımlama | OpenCV Python ve Arduino Kullanan Arduino Face ID: Yüz tanıma AKA face ID, günümüzde cep telefonlarındaki en önemli özelliklerden biridir. Bu yüzden "Arduino projem için bir yüz kimliği alabilir miyim" ve cevap evet… Yolculuğum şöyle başladı: Adım 1: Bize erişim
Opencv Yüz Tanıma: 4 Adım
Opencv Yüz Tanıma: Yüz tanıma, günümüzde akıllı telefonlar, birçok elektronik alet gibi birçok uygulamada oldukça yaygın bir şeydir. Bu tür bir teknoloji, Raspberry gibi bazı gömülü gömülü SOC platformlarını kullanan birçok algoritma ve araç vb. içerir
Yüz Algılama+Tanıma: 8 Adım (Resimlerle)
Yüz Algılama+tanıma: Bu, bir kameradan OpenCV ile yüz algılama ve tanıma çalıştırmanın basit bir örneğidir. NOT: BU PROJEYİ SENSÖR YARIŞMASI İÇİN YAPTIM VE KAMERAYI SENSÖR OLARAK YÜZLERİ TAKİP VE TANIMAK İÇİN KULLANDIM.Yani, Amacımız Bu oturumda, 1. Anaconda'yı kurun
Raspberry Pi Zero ve Opencv ile Yüz ve Göz Algılama: 3 Adım
Raspberry Pi Zero ve Opencv ile Yüz ve Göz Algılama: Bu talimatta, ahududu pi ve opencv kullanarak yüz ve gözü nasıl tespit edebileceğinizi göstereceğim. Bu benim opencv'deki ilk talimatım. Ahudududa açık cv kurmak için birçok öğreticiyi takip ettim ama her seferinde bazı hatalarla karşılaştım. neyse ben