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