Spaces:
No application file
No application file
| from flask import Flask, render_template, Response | |
| import cv2 | |
| app=Flask(__name__) | |
| def capture_by_frames(): | |
| global camera | |
| camera = cv2.VideoCapture(0) | |
| while True: | |
| success, frame = camera.read() # read the camera frame | |
| detector=cv2.CascadeClassifier('Haarcascades/haarcascade_frontalface_default.xml') | |
| faces=detector.detectMultiScale(frame,1.2,6) | |
| #Draw the rectangle around each face | |
| # for (x, y, w, h) in faces: | |
| # cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 3) | |
| eye_cascade = cv2.CascadeClassifier('Haarcascades/haarcascade_eye.xml') | |
| faces=detector.detectMultiScale(frame,1.1,7) | |
| gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) | |
| #Draw the rectangle around each face | |
| 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_color = frame[y:y+h, x:x+w] | |
| eyes = eye_cascade.detectMultiScale(roi_gray, 1.1, 3) | |
| for (ex, ey, ew, eh) in eyes: | |
| cv2.rectangle(roi_color, (ex, ey), (ex+ew, ey+eh), (0, 255, 0), 2) | |
| ret, buffer = cv2.imencode('.jpg', frame) | |
| frame = buffer.tobytes() | |
| yield (b'--frame\r\n' | |
| b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n') | |
| def index(): | |
| return render_template('index.html') | |
| def start(): | |
| return render_template('index.html') | |
| def stop(): | |
| if camera.isOpened(): | |
| camera.release() | |
| return render_template('stop.html') | |
| def video_capture(): | |
| return Response(capture_by_frames(), mimetype='multipart/x-mixed-replace; boundary=frame') | |
| if __name__=='__main__': | |
| app.run(debug=True,use_reloader=False, port=8000) | |