diff --git a/dataset_from_video/0.jpg b/dataset_from_video/0.jpg new file mode 100644 index 0000000..1865fbb Binary files /dev/null and b/dataset_from_video/0.jpg differ diff --git a/dataset_from_video/1.jpg b/dataset_from_video/1.jpg new file mode 100644 index 0000000..f813180 Binary files /dev/null and b/dataset_from_video/1.jpg differ diff --git a/dataset_from_video/2.jpg b/dataset_from_video/2.jpg new file mode 100644 index 0000000..3626c49 Binary files /dev/null and b/dataset_from_video/2.jpg differ diff --git a/dataset_from_video/3.jpg b/dataset_from_video/3.jpg new file mode 100644 index 0000000..8f051ad Binary files /dev/null and b/dataset_from_video/3.jpg differ diff --git a/dataset_from_video/4_extra_scr.jpg b/dataset_from_video/4_extra_scr.jpg new file mode 100644 index 0000000..586e036 Binary files /dev/null and b/dataset_from_video/4_extra_scr.jpg differ diff --git a/training_model.py b/training_model.py index c61589e..1e7b118 100644 --- a/training_model.py +++ b/training_model.py @@ -2,6 +2,7 @@ import pickle import sys import face_recognition +from cv2 import cv2 def train_model_by_img(name): @@ -53,8 +54,49 @@ def train_model_by_img(name): return f"[INFO] File {name}_encodings.pickle successfully created" +def take_screenshot_from_video(): + cap = cv2.VideoCapture("video.mp4") + count = 0 + + if not os.path.exists("dataset_from_video"): + os.mkdir("dataset_from_video") + + while True: + ret, frame = cap.read() + fps = cap.get(cv2.CAP_PROP_FPS) + multiplier = fps * 3 + # print(fps) + + if ret: + frame_id = int(round(cap.get(1))) + # print(frame_id) + cv2.imshow("frame", frame) + k = cv2.waitKey(20) + + if frame_id % multiplier == 0: + cv2.imwrite(f"dataset_from_video/{count}.jpg", frame) + print(f"Take a screenshot {count}") + count += 1 + + if k == ord(" "): + cv2.imwrite(f"dataset_from_video/{count}_extra_scr.jpg", frame) + print(f"Take an extra screenshot {count}") + count += 1 + elif k == ord("q"): + print("Q pressed, closing the app") + break + + else: + print("[Error] Can't get the frame...") + break + + cap.release() + cv2.destroyAllWindows() + + def main(): - print(train_model_by_img("person_name")) + # print(train_model_by_img("person_name")) + take_screenshot_from_video() if __name__ == '__main__': diff --git a/video.mp4 b/video.mp4 new file mode 100644 index 0000000..9889d51 Binary files /dev/null and b/video.mp4 differ