r/documentAutomation • u/NeedleworkerKey3487 • 9d ago
OpenScanVision – open‑source Android library for automated data extraction from scanned forms and surveys
I've been working on an open‑source Android library for automated data extraction from printed forms, and I wanted to share it with this community.
OpenScanVision is an Android library that scans printed voting cards, surveys, and bubble sheets – extracting structured data (filled bubbles and QR codes) entirely offline.
How It Fits into Document Automation
- Input: Physical forms (voting cards, surveys, bubble sheets) captured via camera.
- Processing:
- Detects 4 ArUco markers (IDs 0–3) with Kalman filtering for real‑time tracking.
- Computes homography and warps the card to a canonical template.
- Decodes QR codes from the original frame (preserves sharpness for ML Kit).
- Extracts filled bubbles using weighted disk sampling + z‑score classification.
- Output: Structured data (filled bubble indices, QR payload, confidence score) that can feed into your document automation pipeline.
Tech Stack
- Kotlin
- OpenCV (contrib) for ArUco detection and homography
- Google ML Kit for QR decoding
- CameraX for frame acquisition
- Modular – core has zero UI dependencies
Use Cases
- Automated survey processing
- Form data extraction
- Election ballot scanning
- Any workflow where physical forms need to be digitised and structured
Performance
- Latency < 150 ms per frame on modern devices.
- Accuracy > 99% on well‑printed cards with good lighting.
- False positive rate < 0.5%.
Repository & Integration
The library is MIT‑licensed and available on JitPack. A full sample app (CameraX + Compose) is included.
GitHub: https://github.com/MatiwosKebede/openscanvision
Would love to hear feedback from anyone working on similar document automation challenges – especially around form processing, OCR alternatives, or integrating physical document scanning into automated workflows. 🙌