QR Answer-Sheet Cropper – Crop Every Answer Box

Print a QR on each sheet, scan a mixed batch, and get every answer cell back as a clean, aligned image.

QR Answer-Sheet Cropper – Crop Every Answer Box cover
Personal · $39Commercial · $149

One-time purchase.

What it is

QR-Anchored Answer Sheet Cropper is a Python and OpenCV tool for scanned exams. Print a small QR on each sheet and drop in a mixed scanner batch. It identifies each page by its QR, pairs fronts and backs, corrects rotation and skew, and crops every answer cell into a clean, aligned image at about 200 dpi. It runs offline.

Quick start

pip install -r requirements.txt
python demo.py
open out/

Compared with

ToolTypeNotes
Stack Overflow / OpenCV forum recipesFree code snippetsQR-anchored perspective warp; you write the rest
OMR projects (rbaron/omr, OMR-Grader)Free open sourceBubble grading
Dynamsoft Document NormalizerSDKFrom $1,249/year
Aspose.OMRSDKFrom $599
QR Answer-Sheet CropperPython package, source included$39 one-time; batch sorting, front/back pairing and cell cropping

FAQ

How do I crop answer regions from scanned exam sheets with a QR code?

Print the QR payload on each sheet, scan the batch and run the cropper. It reads the QR in the page corners, warps each answer table to a millimetre grid and cuts every cell.

Can I sort a mixed scanner batch by student?

Yes. Pages are grouped into front/back pairs per student from their QR codes. Pages from another exam are reported as stray.

Does rotation or skew matter?

No. It handles skew and 90/180/270-degree turns.

What scan resolution do I need?

150 dpi or higher. The demo uses 200 dpi.

What do I need to run it?

Python 3.10+, opencv-python-headless and numpy on Windows, macOS or Linux. One-time purchase, full source included.

How do I crop answer boxes from scanned exams with a QR code in Python?

Print the QR on each sheet, scan the batch, and run the demo: each page is identified by its QR, deskewed to the template and cut into one image per answer cell.

Which tier should I buy?

Personal is for one person, and that includes shipping it inside your own paid or free apps as compiled or bundled code. Commercial is for a company or organisation, where more than one person uses it, and adds priority email support. Neither lets you share the source itself. Both include the full source. One-time purchase.

What do I get after paying?

A zip with the full source, README and runnable demo. Polar shows the download right after checkout and in the receipt email.

Personal · $39Commercial · $149

One-time purchase.

← All products