Bubble Sheet Multiple choice Scanner and test grader using OMR, Python, and OpenCV.

preview_player
Показать описание
This OpenCV tutorial is for beginners just getting started learning the basics. Inside this guide, you’ll learn basic image processing operations using the OpenCV library using Python.
And by the end of the tutorial, you’ll be putting together a complete project to build your own Bubble Sheet Scanner.
While this tutorial is aimed at beginners just getting started with image processing and the OpenCV library, I encourage you to give it a shot even if you have a bit of experience.
Hey you all, welcome back to the first cool project of the tutorial series. Also, sorry for being late.


I hope you enjoyed the video and more importantly learned something.
If you have any doubts, don’t forget to mention it in the comments.
Here are the ways you can connect with me:
2)Instagram: areyou
#opencv​ #computervision
Рекомендации по теме
Комментарии
Автор

What to do if there are multiple columns in omr sheet☹️

tron__
Автор

This is a nice place to start, but the sample code is buggy. While the code gives the impression that things are working, they are not working as you would think.

1. there's a bug with sorting the contours around line #41
#sorting the contours from top to botton
questionCnts= contours.sort_contours(questionCnts, method="top-to-botton")[0]

the method takes a string for sort direction and there is a typo in the text- should be 'top-to-bottom' with an end at the end of the string

2. there's a bug at line #57 as well in which every hit is being tested against the answer key instead of the single best answer for the question set

Hopefully these comments will help people in the future on trying to understand what's going on and how the magic works. I found bug #2 first and then fixed things only to find bug #1 that really caused issues. The images were getting evaluated along the A-E columns per question which was a bazarre result before seeing what was going on.

rjmosko
Автор

Changing the answer key results in incorrect totals. Please advise.

scottnorman
Автор

HI Anushka, what need to do if two circle value needs to scan at same time and make it dict.

mukulsrivastava
Автор

Hi, I did the same until 7:29. But I have a problem :( blurred = cv2.GaussianBlur(gray, (5, 5), 0)
TypeError: object() takes no parameters
how will i solve this problem

busraaltun
Автор

What is the possibility of connecting this functionality to an android system?

ArmandoOliveira
Автор

what if a student mark more than 1 circle in 1 question

kishanKumar-cowb
Автор

Which algorithm has been used in this project?

omrai
Автор

Can we do the same for more than 5 questions?

mrincognito
Автор

Hi Anushka I tried the python code for Bubble Scanner, Installed Python 3.11.4 64 bit and Visual Studio code latest version and Open CV latest version.
Please do help Would appreciate the help.

I got the below error after compiling the py code.
questionCnts= contours.sort_contours(questionCnts, method="top-to-bottom")[0]
ValueError: not enough values to unpack (expected 2, got 0)
PS D:\Python_Workspace> & d:/Python_Workspace/OMR.py
Traceback (most recent call last):
File "d:\Python_Workspace\OMR.py", line 41, in <module>
questionCnts= contours.sort_contours(questionCnts, method="top-to-bottom")[0]

File "C:\Users\hp\AppData\Local\Programs\Python\Python311\Lib\site-packages\imutils\contours.py", line 24, in sort_contours
(cnts, boundingBoxes) = zip(*sorted(zip(cnts, boundingBoxes),

ValueError: not enough values to unpack (expected 2, got 0)

Please help and reply soon

Thanks in advance

sayilkunthe