Real-Time Python Projects Development Tutorials, Guides & Insights
Unlock 1+ expert-curated real-time python projects tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your real-time python projects skills on DeveloperBreeze.
Adblocker Detected
It looks like you're using an adblocker. Our website relies on ads to keep running. Please consider disabling your adblocker to support us and access the content.
Tutorial
python
Build a Facial Recognition Attendance System
Use the saved encodings to identify individuals in real-time.
import cv2
import face_recognition
import pickle
from datetime import datetime
# Load encodings
with open("encodings.pickle", "rb") as f:
data = pickle.load(f)
# Initialize webcam
video_capture = cv2.VideoCapture(0)
# Track attendance
attendance_log = set()
while True:
ret, frame = video_capture.read()
if not ret:
break
# Resize frame for faster processing
small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25)
rgb_frame = small_frame[:, :, ::-1]
# Detect faces and compare
face_locations = face_recognition.face_locations(rgb_frame)
face_encodings = face_recognition.face_encodings(rgb_frame, face_locations)
for face_encoding, face_location in zip(face_encodings, face_locations):
matches = face_recognition.compare_faces(data["encodings"], face_encoding)
name = "Unknown"
if True in matches:
match_index = matches.index(True)
name = data["names"][match_index]
# Log attendance
if name not in attendance_log:
attendance_log.add(name)
print(f"{name} marked present at {datetime.now()}")
# Display bounding box and name
top, right, bottom, left = [v * 4 for v in face_location]
cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)
cv2.putText(frame, name, (left, top - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# Show video feed
cv2.imshow("Attendance System", frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
video_capture.release()
cv2.destroyAllWindows()Dec 10, 2024
Read More