Skip to content

PrajwalMundargi/Attendance_Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Face Recognition Attendance Manager

This project is a Face Recognition Attendance Manager using Python. It captures live video feed, recognizes known faces, marks attendance, and sends email notifications if attendance is below a certain threshold.

Table of Contents

Features

  • Face Recognition: Detects and recognizes faces from live video input.
  • Attendance Management: Marks attendance for recognized users.
  • Email Notification: Sends reminder emails to users with low attendance.
  • JSON Data Handling: Stores and retrieves user data, including attendance records, from a JSON file.

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/attendance-manager.git
    cd attendance-manager
  2. Install required Python packages: Make sure you have Python installed on your system. Then, install the dependencies:

    pip install -r requirements.txt
  3. Ensure you have a webcam connected, as this project uses it for face recognition.

  4. Set up the JSON data:

    • Create a folder named assets/data and add the rampraj.json file in it.
    • The JSON file should contain user data with fields like name, email, and attendance.
    • Example JSON (rampraj.json):
      [
        {
          "name": "samarth g",
          "email": "[email protected]",
          "attendance": 15
        },
        {
          "name": "ramya g",
          "email": "[email protected]",
          "attendance": 5
        }
      ]

Usage

Run the application:

python face.py

Options in the menu:

  1. Mark your Attendance: Opens the webcam, detects your face, and marks your attendance in the JSON file.
  2. View Attendance: Check your attendance and receive email alerts if attendance is below average.

Exit: You can exit the program by pressing q while the webcam window is active, or by selecting 'q' from the main menu.

Project Structure

face_recognition/
├── assessts/
│   ├── images/           # Folder containing known face images (e.g., topg.jpg, kothi.jpg)
│   ├── data/             # Folder containing the JSON file with user data (e.g., rampraj.json)
├── face.py               # Main script for running the face recognition attendance system
├── README.md             # Project documentation
├── requirements.txt      # Python dependencies

Dependencies

  • OpenCV: For video capture and displaying frames.
  • face_recognition: For face detection and recognition.
  • NumPy: For numerical operations.
  • smtplib: To send email notifications using Gmail's SMTP server.
  • email.mime: To format email messages.

Install all dependencies using:

pip install -r requirements.txt

Configuration

Email Configuration:

In face.py, update the sender_email and sender_password with valid Gmail credentials (enable "less secure apps" access for the sender email or set up an app-specific password).

Image Data:

Place images of known users in the assets/images/ folder. The filenames should match the names in the JSON data.

License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages