06
Dev.to Kotlin
作者:Matiwos Kebede
發布:07-18 04:05
How I Built a High-Performance OMR and QR Scanner for Android (Open Source)
OpenScanVision is an open-source Android library that combines Optical Mark Recognition (OMR) and QR code decoding, working entirely offline.
重點摘要
Uses ArUco markers, homography, and Kalman filtering for stable real-time capture
Combines OpenCV, Google ML Kit, and CameraX in a modular Kotlin library
Delivers under-150 ms latency, over 99% accuracy, and fully offline scanning
The article explains how Matiwos Kebede built OpenScanVision, an open-source Android library for high-performance OMR and QR scanning that works entirely offline. He describes the problems with existing tools—high cost, poor accuracy, or online dependency—and outlines a modular pipeline using CameraX frame capture, ArUco marker tracking, homography-based perspective correction, QR decoding with Google ML Kit, and OMR extraction with OpenCV. The core library is UI-free and easy to integrate into Android apps, including headless services. Kebede also shares performance results, planned 2025 features, and invites contributions to the MIT-licensed project.
我如何为 Android 打造高性能的 OMR 与 QR 扫描器(开源)
OpenScanVision 是一个开源 Android 库,结合了光学标记识别(OMR)和 QR 码解码,并且完全离线运行。
重點摘要
通过 ArUco 标记、单应性和 Kalman 滤波实现稳定的实时扫描
整合 OpenCV、Google ML Kit、CameraX,采用 Kotlin 模块化架构
在现代设备上可实现 150 ms 以内延迟、99% 以上准确率,并支持离线扫描
本文讲述 Matiwos Kebede 如何开发 OpenScanVision——一个可完全离线运行的开源 Android OMR 与 QR 扫描库。他指出,现有方案往往价格昂贵、准确率不足或依赖网络,因此设计了模块化扫描流程:使用 CameraX 获取帧、借助 ArUco 标记追踪卡片、通过单应性矩阵校正透视,再用 Google ML Kit 解码 QR,并用 OpenCV 完成 OMR 识别。核心库不依赖任何 UI 组件,可轻松集成到各类 Android 项目中。文末还提供了性能数据、2025 年规划和开源贡献方式。
我如何打造一個適用於 Android 的高效能 OMR 與 QR 掃描器(開源)
OpenScanVision 是一個開源 Android 函式庫,結合光學劃記辨識(OMR)與 QR code 解碼,且完全離線運作。
重點摘要
以 ArUco 標記、單應性與 Kalman 濾波實現穩定即時掃描
整合 OpenCV、Google ML Kit、CameraX,採 Kotlin 模組化架構
在現代裝置上可達 150 ms 以內延遲、99% 以上準確率,且可離線使用
本文介紹 Matiwos Kebede 如何打造 OpenScanVision,一個可離線運作的開源 Android OMR 與 QR 掃描函式庫。他指出,現有方案常見問題包括價格高、準確度不足或必須連網,因此自行設計出模組化流程:以 CameraX 擷取影格、用 ArUco 標記追蹤卡片、透過單應性修正透視,再以 Google ML Kit 解碼 QR,並以 OpenCV 完成 OMR 擷取。核心庫不依賴 UI,可輕鬆整合進各種 Android 專案。文章最後也列出效能數據、2025 年路線圖與開源貢獻方式。