← 博客列表 · DevLog_工位日志$ cat posts/ocr-app.md
# OCR2026-08-19阅读 10 分钟系列: 端侧 AI 落地

PaddleOCR + Flask:手机浏览器就能用的便携 OCR

产线做扫码录入,业务提的需求是"手机对着标签拍一下,文字就出来,还要能把识别结果直接粘到系统里"。装原生 APP 要走审批,那就走浏览器。最终方案:PaddleOCR 做识别 + Flask 做服务,电脑和手机浏览器都能用。

功能清单

模型文件:192MB 怎么装

PP-OCRv6 系列模型加起来约 192MB,下载后解压到 models/official_models/ 下,包括检测(PP-OCRv6_medium_det)、识别(PP-OCRv6_medium_rec)、方向分类(PP-LCNet_x1_0_doc_ori / textline_ori)和矫正(UVDoc)。

models/ official_models/ PP-OCRv6_medium_det/ PP-OCRv6_medium_rec/ PP-LCNet_x1_0_doc_ori/ PP-LCNet_x1_0_textline_ori/ UVDoc/

部署:Docker 一键起

服务用 docker-compose.yml 编排,证书走 cert.crt / cert.key(浏览器调摄像头强制要求 HTTPS,局域网自签即可)。Dockerfile 与 compose 文件都在仓库里,克隆后 docker compose up -d 直接用。

踩坑记录:非 HTTPS 环境下 getUserMedia 直接被浏览器拒绝,表现为"摄像头权限灰色不可点"。解决:生成自签证书,或挂一个带证书的反代。

UVC 摄像头与外接设备

除了手机摄像头,仓库里还带了 UvcCameraDemo,用于验证 UVC 外接摄像头的采集链路——在工位上接一个固定焦距的 USB 摄像头对准标签位,识别率比手持拍摄更稳。

与 GLM-OCR 的关系

另一条线在评测 GLM-OCR 模型(safetensors 权重 + tokenizer),目标是替代 PaddleOCR 的识别层做更高精度的版面理解。两条线的服务接口保持一致,哪边效果好换哪边,业务无感。

现状

已在本地产线试用,debug_last.jpg 是最近一次识别的调试快照。下一步:识别结果按标签字段结构化输出,直接回填 WMS 录入接口。

← 返回博客列表