| | import tensorflow as tf |
| | import json |
| | import numpy as np |
| | from matplotlib import pyplot as plt |
| | import cv2 |
| | from tensorflow.keras.models import load_model |
| |
|
| | |
| | facetracker = load_model('facetracker.h5') |
| |
|
| | |
| | cap = cv2.VideoCapture(0) |
| | while cap.isOpened(): |
| | |
| | _ , frame = cap.read() |
| | frame = frame[50:500, 50:500,:] |
| | rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) |
| | resized = tf.image.resize(rgb, (120,120)) |
| |
|
| | yhat = facetracker.predict(np.expand_dims(resized/255,0)) |
| | sample_coords = yhat[1][0] |
| | |
| | if yhat[0] > 0.5: |
| | |
| | cv2.rectangle(frame, |
| | tuple(np.multiply(sample_coords[:2], [450,450]).astype(int)), |
| | tuple(np.multiply(sample_coords[2:], [450,450]).astype(int)), |
| | (255,0,0), 2) |
| | |
| | cv2.rectangle(frame, |
| | tuple(np.add(np.multiply(sample_coords[:2], [450,450]).astype(int), |
| | [0,-30])), |
| | tuple(np.add(np.multiply(sample_coords[:2], [450,450]).astype(int), |
| | [80,0])), |
| | (255,0,0), -1) |
| | |
| | |
| | cv2.putText(frame, 'Muka', tuple(np.add(np.multiply(sample_coords[:2], [450,450]).astype(int), |
| | [0,-5])), |
| | cv2.FONT_HERSHEY_SIMPLEX, 1, (255,255,255), 2, cv2.LINE_AA) |
| | |
| | cv2.imshow('Face Detection', frame) |
| | |
| | if cv2.waitKey(1) & 0xFF == ord('q'): |
| | break |
| | cap.release() |
| | cv2.destroyAllWindows() |
| |
|