This project is a Face Recognition Attendance System developed using Python, OpenCV, and face_recognition. The system recognizes faces through your webcam and marks attendance for registered users. It saves the attendance data in a CSV file with timestamps and provides a GUI interface for user interaction.
opencv-pythonface_recognitionnumpytkinterosdatetimecsvloggingplatformsubprocessPIL (for image file handling)You can install the necessary libraries using pip:
pip install opencv-python face_recognition numpy Pillow
Create known_faces Directory:
Create a directory named known_faces in the project root directory. This is where the photos of registered users will be stored.
Register New Users:
known_faces directory.Run the System:
View Attendance:
Download Attendance:
Face_Recognition_Attendance_System/
āāā known_faces/ # Folder containing user photos
ā āāā JohnDoe/ # Subfolder for each registered user
ā āāā john_doe.jpg # User's photo for recognition
āāā attendance.csv # File to store attendance data
āāā attendance_system.py # Main Python script (this file)
āāā attendance_system.log # Log file to track system activity
known_faces directory. Each user has their own folder, and photos are saved inside it.attendance.csv file.opencv-python: Used for capturing video frames from the webcam.face_recognition: Used for face detection and encoding.numpy: Required by face_recognition for array manipulations.tkinter: Used for building the graphical user interface (GUI).Pillow: For handling images.This project is licensed under the MIT License - see the LICENSE file for details.
face_recognition: The face_recognition library provides a simple API for face detection and recognition.OpenCV: The opencv-python library helps to capture frames from the webcam and process the video.