Skip to main content

Grade MCQ exams with a webcam

Project description

Eyegrade ( uses a webcam to grade multiple choice question exams. Needing just a cheap low-end webcam, it aims to be a low-cost and portable alternative to other solutions based on scanners.

The main features of Eyegrade are:

  • Grading the exams: By using a webcam, the graphical user interface of Eyegrade allows you to grade your exams. Eyegrade is able to recognize not only the answers to the questions, but also the identity of the student by using its hand-written digit recognition module. The whole process is supervised by the user in order to detect and fix potential detection errors.
  • Exporting grades: Grades can be exported in CSV format, compatible with other programs such as spreadsheets.
  • Typesetting the exams: Although you can create your exams with other tools, Eyegrade integrates an utility to creating MCQ exams. It is able to create your exams in PDF format. Eyegrade can automatically build several versions of the exam by shuffling questions and the choices within the questions.

The user manual can be found at


Eyegrade runs on Python 2.7 only. In addition, it requires OpenCV version 2.4 and PyQt4 to work properly:

  • For GNU/Linux systems install those packages from your distribution. For example, in Debian (Stretch and previous versions) and Ubuntu (16.10 and previous versions) just install the packages python-opencv and python-qt4. I’ve tested Eyegrade with the OpenCV 2.4 series. Some Linux distributions ship OpenCV 3. Note that API changes in that version prevent it from working with this version of Eyegrade. I’ll try to adapt the code as soon as possible.
  • For Windows platforms you can download OpenCV and PyQt4 from their official websites.
  • For Mac OS/X I haven’t tested the program. I believe it should be possible to install these dependencies and make Eyegrade work, but I’m not sure because I don’t own a Mac computer. Feedback on this would be much appreciated.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
eyegrade-0.7.tar.gz (7.0 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page