MarkIt™ is a cutting-edge Optical Mark Recognition (OMR) solution designed to help educators grade multiple-choice exams with unparalleled speed and accuracy. Leveraging advanced image processing techniques, MarkIt™ transforms the tedious task of manual grading into a swift and efficient process.
- ⚡ Blazing Fast Processing: Grade answer sheets in mere seconds, saving valuable time for educators.
- 🎯 High Accuracy: Employs sophisticated image processing for precise detection of marked bubbles, minimizing errors.
- 📊 Comprehensive Analytics: Provides detailed reports and insightful analytics on student performance.
- 🔑 Flexible Answer Key Configuration: Easily set up answer keys manually or by importing from a CSV file.
- 📤 CSV Import/Export: Streamline the process by importing answer keys and exporting detailed results in CSV/Excel format.
- 🔒 Privacy Focused: All processing is done locally within your session, ensuring the privacy of your data.
- ✨ Premium User Interface: A clean, intuitive, and professional interface powered by Streamlit for a seamless user experience.
- 🖼️ Marked Answer Sheet Visualization: See the graded answer sheet with correct and incorrect answers clearly marked.
- 📉 Performance Insights: Visualize student performance with charts and detailed question analysis.
No installation is required! This application runs directly in your web browser using Streamlit. Simply upload the Python script (OMR_grading_tool.py
) to a Streamlit sharing platform or run it locally if you have Streamlit installed.
- Make sure you have Python and Streamlit installed. If not, you can install them using pip:
pip install streamlit opencv-python numpy pandas pillow openpyxl xlsxwriter
- Save the provided Python code as
OMR_grading_tool.py
. - Navigate to the directory where you saved the file in your terminal.
- Run the Streamlit app:
streamlit run OMR_grading_tool.py
- The application will automatically open in your web browser.
MarkIt™ is designed with a user-friendly tab-based interface for a straightforward workflow:
- Manual Configuration: Set the correct answer (1-5) for each of the 50 questions using the interactive select boxes.
- CSV Import: Upload a CSV file with two columns: "Question" (number from 1 to 50) and "Answer" (correct option number from 1 to 5). A sample CSV file format is provided for download.
- Click the "💾 Save Answer Key" button to store your configured key.
- Student Information (Optional): Enter the student's name and ID for better result tracking.
- Upload Answer Sheet: Click on "📤 Upload a scanned answer sheet image" to upload images in JPG, PNG, or JPEG format. Ensure the image is clear and well-lit for optimal processing.
- Once uploaded, the application will automatically process the image and display the results, including the score, percentage, a marked answer sheet, and a detailed question-wise analysis.
- Download Results: You can download the detailed results as an Excel file and the marked answer sheet as a PNG image.
- This tab provides a summary of all the answer sheets processed during the current session.
- View the total number of processed sheets, average score, and highest score.
- A table displays the results of each processed sheet.
- An option to "📥 Export All Results" allows you to download a comprehensive Excel file of all processed data.
Contributions to enhance MarkIt™ are welcome! Feel free to fork the repository, make improvements, and submit a pull request.
This project is licensed under the MIT License.
- Built with ❤️ using Streamlit.
- Leverages the power of OpenCV for image processing, NumPy for numerical operations, Pandas for data manipulation, and Pillow for image handling.
- Utilizes XLSXWriter for creating Excel reports.
- Styled with custom CSS to provide a premium user experience.
MarkIt™ - Bringing Speed and Accuracy to Exam Grading