-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtraining.py
More file actions
39 lines (30 loc) · 876 Bytes
/
training.py
File metadata and controls
39 lines (30 loc) · 876 Bytes
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
37
38
39
# imports
import cv2
import os
import face_recognition
import pickle
from imutils import paths
def Training():
# folder with images
name = "dataset/"
# training the dataset
print("Processing...")
images = list(paths.list_images("dataset"))
known_encodings = []
names = []
# func
for (i, path) in enumerate(images):
print("Processing image {}/{}".format(i + 1, len(images)))
name = path.split(os.path.sep)[-2]
image = cv2.imread(path)
rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
boxes = face_recognition.face_locations(rgb)
encodings = face_recognition.face_encodings(rgb, boxes)
for encoding in encodings:
known_encodings.append(encoding)
names.append(name)
data = {"encodings": known_encodings, "names": names}
writer = open("encoding/dataset_encoding.pickle", "wb")
writer.write(pickle.dumps(data))
writer.close()
print("Finish")