Skip to content

Commit

Permalink
Testing using KNN
Browse files Browse the repository at this point in the history
Testing for the data with live camera is written in optimized but beginner friendly code.
  • Loading branch information
Danashri authored Mar 29, 2021
1 parent d277d0f commit 94da0af
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions Testing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
from keras.models import load_model
from time import sleep
from keras.preprocessing.image import img_to_array
from keras.preprocessing import image
import cv2
import numpy as np

face_classifier = cv2.CascadeClassifier(
r'C:\Users\Synergiz\PycharmProjects\Emotion_Rec\haarcascade.xml')
classifier = load_model(
r'C:\Users\Synergiz\PycharmProjects\Emotion_Rec\Emo_little-h5.h5')

class_labels = ['Angry', 'Happy', 'Neutral', 'Sad', 'Surprise']

cap = cv2.VideoCapture(0)

while True:
# Grab a single frame of video
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_classifier.detectMultiScale(gray, 1.3, 5)

for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)
roi_gray = gray[y:y + h, x:x + w]
roi_gray = cv2.resize(roi_gray, (48, 48), interpolation=cv2.INTER_AREA)
# rect,face,image = face_detector(frame)

if np.sum([roi_gray]) != 0:
roi = roi_gray.astype('float') / 255.0
roi = img_to_array(roi)
roi = np.expand_dims(roi, axis=0)

# make a prediction on the ROI, then lookup the class

preds = classifier.predict(roi)[0]
label = class_labels[preds.argmax()]
label_position = (x, y)
cv2.putText(frame, label, label_position, cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 255, 0), 3)
else:
cv2.putText(frame, 'No Face Found', (20, 60), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 255, 0), 3)
cv2.imshow('Emotion Detector', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break

cap.release()
cv2.destroyAllWindows()

0 comments on commit 94da0af

Please sign in to comment.