Optical Mark Recognition (OMR) isn't new—we've all filled out those bubble sheets for tests. But traditional OMR systems are slow, require massive hardware scanners, and cost a fortune.
I wanted to see if I could build a Real-Time OMR Scanner using just a standard webcam, Python, and OpenCV. Here's how I did it.
Python (The backbone)
OpenCV (For image processing and contour detection)
Flask (To serve the live camera feed and UI)








