ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

从0到1:PaddleOCR安卓端部署4步实操指南

2026/8/29 14:26:09 拓冰建站 浏览量
从0到1:PaddleOCR安卓端部署4步实操指南 从0到1PaddleOCR安卓端部署4步实操指南【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR拍一张纸质合同或票据手机本地就能吐出带坐标的结构化文本这是移动端应用里很常见的诉求。本文以 PaddleOCR 的安卓端部署工程deploy/ppocr-android 目录为主线带你从环境检查到真机出结果完整走一遍不用自己训练模型。一、先说结论这套方案适合谁官方仓库直接提供 Android SDKppocr-android和配套 Demo模型为 ONNX 格式推理走 ONNX Runtime 1.21.1CPU 即可完成全程离线。覆盖检测 识别端到端流程返回文本、置信度、坐标并自带检测/识别分阶段计时方便定位耗时。门槛明确JDK 17 构建真机最低 Android 8.0minSdk 26。SDK 与 Demo 分离之后可以用源码或 AAR 两种方式并入你自己的 App不必整个 Demo 照搬。场景能做什么关键产出文档票据拍照文字行定位 识别文本 坐标字段抽取类应用带置信度取字识别分数已有 App 集成源码 / AAR 依赖ppocr-sdk 模块二、30秒看懂原理一张图的数据流你调用recognize()后图片先送检测模型找出所有文本行的四边形框再把每个框裁剪出来逐条送识别模型输出文字。预处理、推理、后处理都封装在 SDK 内部Kotlin 侧只拿最终结果和分阶段计时。整条链路在 CPU 上跑不依赖云端接口。三、开工前物料清单动手前把这 6 项对一遍能避开后面 80% 的报错物料建议版本备注Android StudioLadybug2024.2打开 ppocr-android 工程JDK17Gradle 构建硬性要求Kotlin2.1.0工程已锁版本勿随意改真机Android 8.0需开启 USB 调试ONNX Runtime1.21.1已含在工程依赖里OpenCV4.5.3初始化时机有讲究见第六节四、从零到跑通的完整实操Step 1 克隆仓库并定位工程做什么拉取代码后进入安卓部署目录官方文档在 docs/version3.x/inference_deployment/cross_platform/android_deployment.md可作对照。git clone https://gitcode.com/GitHub_Trending/pa/PaddleOCR cd PaddleOCR/deploy/ppocr-android看到什么算成功目录下能看到 ppocr-sdk/SDK 库模块、app/Demo、run_benchmark.sh 三个关键入口。Step 2 准备 ONNX 模型做什么从模型库下载 PP-OCRv6_small求快可选 tiny按目录规则放置——检测模型的 inference.onnx 放入 ppocr-sdk/src/main/assets/models/det/识别模型的 inference.onnx 和 inference.yml 放入 models/rec/。看到什么算成功det 目录 1 个 onnx 文件rec 目录 1 个 onnx 1 个 yml路径拼写无大小写错误。Step 3 编译 Demo做什么用 Android Studio 直接打开工程点运行或命令行构建并安装。./gradlew :app:assembleDebug ./gradlew :app:installDebug看到什么算成功BUILD SUCCESSFUL且真机上安装无报错。Step 4 真机验证识别结果做什么打开 PP-OCRv6 Demo等模型加载完成点 Select from Gallery 选一张文字清晰的图片。看到什么算成功界面显示逐行识别文本并附检测、识别耗时统计。参考量级仓库文档给出的样例设备Android 95 行文本全链路平均约 420 ms其中检测约 350 ms、识别约 65 ms你的设备按此数量级对照即可。五、调优与性能参考线程数和阈值怎么调参数默认值含义调整建议numThreads4推理线程数四核机取 2 或 4 试跑对比 P90detLimitSideLen64检测输入边长上限小字漏检时调大detBoxThresh0.6检测框置信度阈值漏框时降到 0.5recBatchSize1识别批大小文字行多时可试 2三条调优建议先固定图片只调 numThreads用 P90 而非均值判断避免单次抖动误导。漏检优先怀疑 detBoxThresh 和输入分辨率顺序是降阈值、再加边长。用仓库自带脚本在真机跑分布./run_benchmark.sh 10 310 次测量、3 次预热输出 Mean/Stdev/P90比手动点一次更可信。六、高频问题速查问题现象可能原因解决动作打开 App 模型不加载onnx 没放进 assets/models按 Step 2 路径核对文件名初始化即崩溃未先初始化 OpenCV调 PaddleOCR.create 前先执行 OpenCVUtils.init识别结果为空detBoxThresh 偏高或图片模糊降阈值换清晰图重测耗时明显偏长线程数不匹配或图过大减线程、调小输入边长文字方向反了图片旋转 180°拍摄端正方向或预处理旋转七、还能怎么玩集成进自有 Appppocr-sdk 支持源码依赖或打成 AAR./gradlew :ppocr-sdk:assembleRelease业务侧只需 create、recognize、release 三个动作。真机性能回归把 run_benchmark.sh 的输出接进你的测试流程换机或换模型后直接对比 P90。想走 Paddle Lite 技术栈或支持更老机型仓库里另有 deploy/android_demoPaddle Lite 2.10 版 Java/C 示例两套路线可按设备生态二选一。八、写在最后跟着四个步骤走完你手上已经有一个能离线跑、可嵌进自有应用的安卓 OCR 能力。建议的下一步先在自己设备上跑一轮 benchmark 拿到基准数据再把 SDK 接进项目试一个真实场景。项目地址https://gitcode.com/GitHub_Trending/pa/PaddleOCR【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考