File size: 4,835 Bytes
cad92ea
bbcce29
cad92ea
 
 
 
 
3657998
cad92ea
 
 
3657998
cad92ea
 
 
3657998
bbcce29
3657998
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
 
 
cad92ea
 
bbcce29
 
 
 
86e74e0
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
# from PIL import Image
from flask import *
# 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.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 index():
    return 'hello'
    # return render_template('index.html')


if __name__ == '__main__':
    # Start Flask application
    app.run(host="0.0.0.0", port=7860)