Optimizing image in a OMR preprocessor
I have an OMR (Optic Marker Recognition) algorithm and would like to improve its accuracy by preprocessing the input image. The pictures taken by the users are of response sheets of a test, in which the students mark the correct alternativa by filling a bubble in this sheet.
This is my input image:
edit: I cant post two images for being a new user, but picture that image with a shadow of a hand above the markers!
And this is the desired outcome, obtained using the grayscale filter from the Adobe Scan app:
I already tried a variety of techniques, such as morphologic operations (to remove shadows, but they ended up removing the marked choices as well) or adaptive threshold. Any input from you guys would be of huge help!
Thanks!