FormLens is a computer-vision form analyzer that reads paper forms — checkboxes, multiple-choice OMR bubbles, and signature presence — with a confidence score on every reading. The OpenCV 5 pipeline straightens the photographed page (perspective rectification via largest-quad + warpPerspective), adapts to uneven lighting (adaptive Gaussian thresholding), and detects fields with pure contour/morphology analysis — no template registration, no ML model. Checkboxes are classified by center-region fill ratio, OMR bubbles by circularity + row grouping + darkest-bubble, signature presence by connected-component ink density. Every result ships with per-field confidence, a color-coded annotated image, and an exportable JSON report. It is a real product: batch processing of up to 20 forms, searchable history with filters, a labeled sample gallery, downloadable annotated outputs, and uncertainty-first review flags — fields under 75% confidence are flagged amber for human verification instead of silently guessed. The AWS component is an S3 uploader (formlens/aws_store.py) that activates automatically when AWS credentials are present; this build ran in local mode because no AWS account access was available — stated plainly in the technical report. Stack: Python, OpenCV 5, FastAPI, SQLite, vanilla JS. 18/18 pytest tests passing. All test forms are self-authored synthetic fixtures, clearly labeled; measured 32/32 fields correct on fixtures — no accuracy claims beyond them. Built solo by Mohamed Parvez Maharoof during the competition window.
Log in or sign up for Devpost to join the conversation.