-
Notifications
You must be signed in to change notification settings - Fork 0
/
treinamento-yale.py
36 lines (28 loc) · 1.03 KB
/
treinamento-yale.py
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
32
33
34
35
36
import cv2
import os
import numpy as np
from PIL import Image
eigenface = cv2.face.EigenFaceRecognizer_create(40, 8000)
fisherface = cv2.face.FisherFaceRecognizer_create(3, 2000)
lbph = cv2.face.LBPHFaceRecognizer_create(2, 2, 7, 7, 50)
def getImagemComId():
caminhos = [os.path.join('pictures', f) for f in os.listdir('pictures')]
faces = []
ids = []
for caminhoImagem in caminhos:
if not (caminhoImagem == 'pictures/.DS_Store'):
imagemFace = Image.open(caminhoImagem).convert('L')
imagemNP = np.array(imagemFace, 'uint8')
id = int(os.path.split(caminhoImagem)[-1].split(".")[1])
ids.append(id)
faces.append(imagemNP)
return np.array(ids), faces
ids, faces = getImagemComId()
print("Treinando...")
eigenface.train(faces, ids)
eigenface.write('classificadorEigenYale.yml')
fisherface.train(faces, ids)
fisherface.write('classificadorFisherYale.yml')
lbph.train(faces, ids)
lbph.write('classificadorLBPHYale.yml')
print("Treinamento realizado")