This desktop application aims to simplify the process of Attendance Management of different classes and batches using Face Recognition and user-friendly GUI. The management of data and marking of attendance is carried out in Excel files.
This python based app uses OpenCV libraries: face detection using Haar feature-based cascade classifier and face recognition using Local Binary Patterns Histograms (LBPH) and openpyxl library to manage excel sheet through python scripts. GUI features are implemented using tkinter library.
The app has two main Panels: Students' and Manager's
Students' panel has one main feature in marking the attendance
Manager's panel has various features in adding a new class, adding a student to logged-in class, training the recognizer and viewing the attendance register
Captured photo after marking attendance automatically gets added to training data images. If the app somehow fails to recognize a student, the Manager can manually mark a student's attendance in attendance register by looking at the images in unrecognized students directory.
Directory Structure:
./extras - contains the attendance register of different classes and the file containing names of all classes
./images - contains the training data images and unrecognized student's directory
./student's list - contains the files containing the information of all students of a class
python Attendance_app.py
- use 'Marauders' as class-code to add classes to the software
- browse the Manager and Student's Panel using class code of the batch you want to enter with
- the username is 'ADMIN' and password 'ubuntu'
- use
SPACE-bar
to click images wherever needed - you can add more images to the training data manually as well
Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.
-
Report a bug
If you think you have encountered an issue, and we should know about it, feel free to report it here and we will take care of it. -
Create a pull request
It can't get better then this, your pull request will be appreciated by the community. You can get started by picking up any open issues from here and make a pull request.
Label | Description |
---|---|
good first issue | Issues, good for newcomers |
easy | Issues with relatively easy difficulty |
tkinter | Issues related to tkinter functionalities |
openCV | Issues related to openCV functionalities |
Discussion | Issues which demands throrough discussion with community |
If you are new to open-source, make sure to check read more about it here and learn more about creating a pull request here.