App 核心流程:CameraX 預覽幀 → 圖像預處理 → OCR 引擎 → 文本後處理 → UI 顯示
| 方案 | 優點 | 缺點 | 適用場景 |
|---|---|---|---|
| Google ML Kit Text Recognition | 無需打包模型,Google Play Services 動態下載,體積小,支持中英數字,API 簡單 | 需 GMS 設備,離線首次需下載模型,精度受光照/傾斜影響大 | 輕量級、快速接入、面向海外/新設備 |
| Tesseract (tess-two / Tesseract-Android) | 完全離線、開源、可訓練字庫、支持 100+ 語言 | 庫體積大(~20MB+),識別慢(單幀 200-500ms),需自行處理圖像二值化/去噪 | 純離線、特定字體/字庫、國內無 GMS 設備 |
| PaddleOCR Lite / NCNN 移動端部署 | 精度 SOTA、支持輕量模型(~3MB)、推理快(NPU/GPU 加速)、可導出 ONNX | 集成複雜:需 C++ JNI、模型轉換、輸入輸出張量處理 | 高精度要求、自有訓練數據、追求極致性能 |
| 商業 SDK (百度/騰訊/阿里/華為) | 精度最高、含方向檢測/版面分析、技術支持 | 收費、需聯網授權、SDK 體積大 | 商業項目、高併發、合規要求 |
implementation 'com.google.mlkit:text-recognition:16.0.0',30 分鐘跑通 Demo,驗證業務可行性tess-two,訓練專用 .traineddata(如只識別數字/特定字體).param/.bin,Android JNI 調用 ncnn::Net,配合 CameraX Analyzer 實時推理cv::adaptiveThreshold)