Implementation steps:
- Load the exam paper by providing path to the image.
- Convert image to grayscale, blur it to reduce high frequency noise, then find edges
- Apply a perspective transform to extract the top-down, birds-eye-view of the exam.
- Extract the set of bubbles (the possible answer choices) from the perspective transformed exam.
- Sort the questions/bubbles into rows.
- Determine the marked answer for each row.
- Lookup the correct answer in our answer key to determine if the user was correct in their choice.
- Repeat for all questions in the exam
Success | Fail |
---|---|
Success | Fail |
---|---|
- Does it works with questions more than 5?
- Yes, just update the admin section in testGrader.py file
- Can I use multiple row number format sheet?
- Unfortunately, the code haven't support this feature yet
- Not compatible with multiple row number format sheet
- Not compatible with low-res image