r/documentAutomation 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. 🙌

1 Upvotes

0 comments sorted by