Vikas01 commited on
Commit
553b504
·
1 Parent(s): d977393

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +92 -13
app.py CHANGED
@@ -52,25 +52,104 @@ def test_connect():
52
  def receive_image(image):
53
  # Decode the base64-encoded image data
54
  image = base64_to_image(image)
55
- image = cv2.resize(image, (224, 224), interpolation=cv2.INTER_AREA)
56
- # emit("processed_image", image)
57
- # Make the image a numpy array and reshape it to the models input shape.
58
- image = np.asarray(image, dtype=np.float32).reshape(1, 224, 224, 3)
59
- image = (image / 127.5) - 1
60
- # Predicts the model
61
- prediction = model.predict(image)
62
- index = np.argmax(prediction)
63
- class_name = class_names[index]
64
- confidence_score = prediction[0][index]
65
- emit("result",{"name":str(class_name),"score":str(confidence_score)})
66
- #######################
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
 
68
  @app.route ("/")
69
  def home():
70
  return render_template("index.html")
71
 
72
 
73
-
 
 
 
 
 
 
 
 
 
 
 
 
 
74
 
75
 
76
 
 
52
  def receive_image(image):
53
  # Decode the base64-encoded image data
54
  image = base64_to_image(image)
55
+ # image = cv2.resize(image, (224, 224), interpolation=cv2.INTER_AREA)
56
+
57
+ # # emit("processed_image", image)
58
+ # # Make the image a numpy array and reshape it to the models input shape.
59
+ # image = np.asarray(image, dtype=np.float32).reshape(1, 224, 224, 3)
60
+ # image = (image / 127.5) - 1
61
+ # # Predicts the model
62
+ # prediction = model.predict(image)
63
+ # index = np.argmax(prediction)
64
+ # class_name = class_names[index]
65
+ # confidence_score = prediction[0][index]
66
+ # emit("result",{"name":str(class_name),"score":str(confidence_score)})
67
+ # #######################
68
+
69
+
70
+
71
+
72
+ # @app.route('/at')
73
+ # def attend():
74
+ # # Face recognition variables
75
+ known_faces_names = ["Sarwan Sir", "Vikas","Lalit","Jasmeen","Anita Ma'am"]
76
+ known_face_encodings = []
77
+
78
+ # Load known face encodings
79
+ sir_image = face_recognition.load_image_file("photos/sir.jpeg")
80
+ sir_encoding = face_recognition.face_encodings(sir_image)[0]
81
+
82
+ vikas_image = face_recognition.load_image_file("photos/vikas.jpg")
83
+ vikas_encoding = face_recognition.face_encodings(vikas_image)[0]
84
+
85
+ lalit_image = face_recognition.load_image_file("photos/lalit.jpg")
86
+ lalit_encoding = face_recognition.face_encodings(lalit_image)[0]
87
+
88
+ jasmine_image = face_recognition.load_image_file("photos/jasmine.jpg")
89
+ jasmine_encoding = face_recognition.face_encodings(jasmine_image)[0]
90
+
91
+ maam_image = face_recognition.load_image_file("photos/maam.png")
92
+ maam_encoding = face_recognition.face_encodings(maam_image)[0]
93
+
94
+ known_face_encodings = [sir_encoding, vikas_encoding,lalit_encoding,jasmine_encoding,maam_encoding]
95
+
96
+ students = known_faces_names.copy()
97
+
98
+ face_locations = []
99
+ face_encodings = []
100
+ face_names = []
101
+
102
+ # now = datetime.now()
103
+ # current_date = now.strftime("%Y-%m-%d")
104
+ # csv_file = open(f"{current_date}.csv", "a+", newline="")
105
+
106
+ # csv_writer = csv.writer(csv_file)
107
+ small_frame = cv2.resize(image, (0, 0), fx=0.25, fy=0.25)
108
+ rgb_small_frame = small_frame[:, :, ::-1]
109
+
110
+ face_locations = face_recognition.face_locations(rgb_small_frame)
111
+ face_encodings = face_recognition.face_encodings(small_frame, face_locations)
112
+ face_names = []
113
+
114
+ for face_encoding in face_encodings:
115
+ matches = face_recognition.compare_faces(known_face_encodings, face_encoding)
116
+ name = ""
117
+ face_distance = face_recognition.face_distance(known_face_encodings, face_encoding)
118
+ best_match_index = np.argmin(face_distance)
119
+ if matches[best_match_index]:
120
+ name = known_faces_names[best_match_index]
121
+
122
+ face_names.append(name)
123
+ emit("result",{"name":str(name),"score":"myScore"})
124
+
125
+ # for name in face_names:
126
+ # if name in known_faces_names and name in students and name not in existing_names:
127
+ # students.remove(name)
128
+ # print(students)
129
+ # print(f"Attendance recorded for {name}")
130
+ # current_time = now.strftime("%H-%M-%S")
131
+ # csv_writer.writerow([name, current_time, "Present"])
132
+ # existing_names.add(name) # Add the name to the set of existing names
133
 
134
  @app.route ("/")
135
  def home():
136
  return render_template("index.html")
137
 
138
 
139
+ @app.route('/table')
140
+ def show_table():
141
+ # Get the current date
142
+ current_date = datetime.now().strftime("%Y-%m-%d")
143
+ # Read the CSV file to get attendance data
144
+ attendance=[]
145
+ try:
146
+ with open(f"{current_date}.csv", newline="") as csv_file:
147
+ csv_reader = csv.reader(csv_file)
148
+ attendance = list(csv_reader)
149
+ except FileNotFoundError:
150
+ pass
151
+ # Render the table.html template and pass the attendance data
152
+ return render_template('attendance.html', attendance=attendance)
153
 
154
 
155