Spaces:
Runtime error
Runtime error
File size: 5,087 Bytes
cad92ea bbcce29 5509849 cad92ea 3657998 cad92ea 3657998 cad92ea 3657998 bbcce29 3657998 5509849 402ff81 cad92ea 3657998 cad92ea 3657998 cad92ea 3657998 cad92ea 3657998 cad92ea 17aa4ec cad92ea bbcce29 cad92ea bbcce29 cad92ea 8510d34 cad92ea bbcce29 cad92ea 9eb9696 cad92ea bbcce29 cad92ea 9eb9696 bbcce29 cad92ea 9eb9696 cad92ea bbcce29 cad92ea bbcce29 cad92ea bbcce29 cad92ea bbcce29 cad92ea bbcce29 48fc997 9d9428d bbcce29 48fc997 9eb9696 bbcce29 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# from PIL import Image
from flask import *
from flask_socketio import SocketIO,emit
# import face_recognition
# import cv2
# import numpy as np
# import csv
# from datetime import datetime
# from matplotlib import pyplot as plt # this lets you draw inline pictures in the notebooks
# import pylab # this allows you to control figure size
# pylab.rcParams['figure.figsize'] = (10.0, 8.0) # this controls figure size in the notebook
# import io
# import streamlit as st
# bytes_data=None
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socket = SocketIO(app,async_mode="eventlet")
@socket.on("connect")
def test_connect():
print("Connected")
emit("my response", {"data": "Connected"})
# @app.route('/at')
# def attend():
# # Face recognition variables
# known_faces_names = ["Sarwan Sir", "Vikas","Lalit","Jasmeen","Anita Ma'am"]
# known_face_encodings = []
# # Load known face encodings
# sir_image = face_recognition.load_image_file("photos/sir.jpeg")
# sir_encoding = face_recognition.face_encodings(sir_image)[0]
# vikas_image = face_recognition.load_image_file("photos/vikas.jpg")
# vikas_encoding = face_recognition.face_encodings(vikas_image)[0]
# lalit_image = face_recognition.load_image_file("photos/lalit.jpg")
# lalit_encoding = face_recognition.face_encodings(lalit_image)[0]
# jasmine_image = face_recognition.load_image_file("photos/jasmine.jpg")
# jasmine_encoding = face_recognition.face_encodings(jasmine_image)[0]
# maam_image = face_recognition.load_image_file("photos/maam.png")
# maam_encoding = face_recognition.face_encodings(maam_image)[0]
# known_face_encodings = [sir_encoding, vikas_encoding,lalit_encoding,jasmine_encoding,maam_encoding]
# students = known_faces_names.copy()
# face_locations = []
# face_encodings = []
# face_names = []
# now = datetime.now()
# current_date = now.strftime("%Y-%m-%d")
# csv_file = open(f"{current_date}.csv", "a+", newline="")
# csv_writer = csv.writer(csv_file)
# def run_face_recognition():
# video_capture = cv2.VideoCapture(0)
# s = True
# existing_names = set(row[0] for row in csv.reader(csv_file)) # Collect existing names from the CSV file
# while s:
# _, frame = video_capture.read()
# small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25)
# rgb_small_frame = small_frame[:, :, ::-1]
# face_locations = face_recognition.face_locations(rgb_small_frame)
# face_encodings = face_recognition.face_encodings(small_frame, face_locations)
# face_names = []
# for face_encoding in face_encodings:
# matches = face_recognition.compare_faces(known_face_encodings, face_encoding)
# name = ""
# face_distance = face_recognition.face_distance(known_face_encodings, face_encoding)
# best_match_index = np.argmin(face_distance)
# if matches[best_match_index]:
# name = known_faces_names[best_match_index]
# face_names.append(name)
# for name in face_names:
# if name in known_faces_names and name in students and name not in existing_names:
# students.remove(name)
# print(students)
# print(f"Attendance recorded for {name}")
# current_time = now.strftime("%H-%M-%S")
# csv_writer.writerow([name, current_time, "Present"])
# existing_names.add(name) # Add the name to the set of existing names
# s = False # Set s to False to exit the loop after recording attendance
# break # Break the loop once attendance has been recorded for a name
# cv2.imshow("Attendance System", frame)
# if cv2.waitKey(1) & 0xFF == ord('q'):
# break
# video_capture.release()
# cv2.destroyAllWindows()
# csv_file.close()
# # Call the function to run face recognition
# run_face_recognition()
# return redirect(url_for('show_table'))
# @app.route('/table')
# def show_table():
# # Get the current date
# current_date = datetime.now().strftime("%Y-%m-%d")
# # Read the CSV file to get attendance data
# attendance=[]
# try:
# with open(f"{current_date}.csv", newline="") as csv_file:
# csv_reader = csv.reader(csv_file)
# attendance = list(csv_reader)
# except FileNotFoundError:
# pass
# # Render the table.html template and pass the attendance data
# return render_template('attendance.html', attendance=attendance)
@app.route("/")
def home():
return render_template('index.html')
# return 'hello'
if __name__ == '__main__':
# Start Flask application
socket.run(app,host="0.0.0.0", port=5000)
|