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 #Load the model facetracker = load_model('facetracker.h5') #Load the video cap = cv2.VideoCapture(0) while cap.isOpened(): # Capture frame-by-frame _ , 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: # Controls the main rectangle 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) # Controls the label rectangle 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) # Controls the text rendered 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) # Display the resulting frame cv2.imshow('Face Detection', frame) # Press Q on keyboard to exit if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()