From d941ed2ed275009e022980540211bd0f68404267 Mon Sep 17 00:00:00 2001 From: Shreya Rangarajan Date: Mon, 11 Dec 2017 12:27:41 -0500 Subject: [PATCH 1/2] Finished Toolbox --- face_detect.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/face_detect.py b/face_detect.py index 247a4d1..e5f63a3 100644 --- a/face_detect.py +++ b/face_detect.py @@ -1,4 +1,31 @@ """ Experiment with face detection and image filtering using OpenCV """ +import numpy as np import cv2 -import numpy as np \ No newline at end of file + +face_cascade = cv2.CascadeClassifier('~/Downloads/haarcascade_frontalface_alt.xml') +cap = cv2.VideoCapture(0) +kernel = np.ones((21,21),'uint8') + +while True: + # Capture frame-by-frame + ret, frame = cap.read() + faces = face_cascade.detectMultiScale(frame, scaleFactor=1.2, minSize=(20, 20)) + for (x, y, w, h) in faces: + frame[y:y+h, x:x+w, :] = cv2.dilate(frame[y:y+h, x:x+w, :], kernel) + cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 255)) + + #smile + cv2.ellipse(frame, (x+int(.5*w),y+int(.65*h)), (int(w/4), int(h/5)), 0, 0, 180, (0,0,255), int(.5*10)) + + #eyes + cv2.circle(frame, (int(x+.35*w), int(y+.4*h)), 20, (200, 106, 30), 10) + cv2.circle(frame, (int(x+.65*w), int(y+.4*h)), 20, (129, 102, 39), 10) + # Display the resulting frame + cv2.imshow('frame', frame) + if cv2.waitKey(1) & 0xFF == ord('q'): + break + +# When everything done, release the capture +cap.release() +cv2.destroyAllWindows() From a5cff31258e3c8f3ef3977ee9446bc63db666332 Mon Sep 17 00:00:00 2001 From: Shreya Rangarajan Date: Mon, 11 Dec 2017 12:29:19 -0500 Subject: [PATCH 2/2] finished toolbox --- face_detect.py | 1 - 1 file changed, 1 deletion(-) diff --git a/face_detect.py b/face_detect.py index e5f63a3..06acaf5 100644 --- a/face_detect.py +++ b/face_detect.py @@ -17,7 +17,6 @@ #smile cv2.ellipse(frame, (x+int(.5*w),y+int(.65*h)), (int(w/4), int(h/5)), 0, 0, 180, (0,0,255), int(.5*10)) - #eyes cv2.circle(frame, (int(x+.35*w), int(y+.4*h)), 20, (200, 106, 30), 10) cv2.circle(frame, (int(x+.65*w), int(y+.4*h)), 20, (129, 102, 39), 10)