Mar 022020
2.149 kez okundu
Fotodaki Yüzleri Bulmak ve Kaydetmek
Herhangi bir fotoğraftaki yüzleri opencv haarcascade yöntemiyle bulmak ve bulunan her yüzü ayrı bir jpg dosyası olarak kaydetmek için aşağıdaki kodları kullanabilirsiniz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# foto_kayit01.py import cv2 faceCascade = cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xml') dosya = 'foto.jpg' imaj = cv2.imread(dosya) gri = cv2.cvtColor(imaj, cv2.COLOR_BGR2GRAY) yuzler = faceCascade.detectMultiScale( gri, scaleFactor=1.2, minNeighbors=5, minSize=(20, 20) ) say=0 for (x,y,w,h) in yuzler: cv2.rectangle(imaj,(x,y),(x+w,y+h),(255,0,0),2) yuz = imaj[y:y+h, x:x+w] foto=f"foto{say}.jpg" say+=1 cv2.imwrite(foto,yuz) print("Yüz sayısı= ",say) cv2.imshow('kare',imaj) while True: k = cv2.waitKey(1) & 0xff if k == 27 or k==ord('q'): # çıkış için 'ESC' veya 'q' break cv2.destroyAllWindows() |
Soru ve yorumlarınız için lütfen aşağıdaki “Yorum” alanını kullanın.
Ahmet Aksoy