哈皮实验室 OCR 基座框架,打造 Brady IPS 三线产品:扫描枪 · 固定式 · Android
三个产品,三次发布。 扫描枪 OCR —— 让扫描枪的眼睛看懂世界。固定式 OCR —— 读得懂字符,分得清好坏。Android OCR —— 让 PDA 也有...

仓库里、产线上,Android PDA 每天都在勤勤恳恳地“哔、哔、哔”。但你要让它看懂标签上的印刷文字、单据上的序列号?它也只能一脸茫然:这题,超纲了。
哈皮实验室正式发布 Android-OCR-V1(HP_OCR_V1) —— 运行在 Brady(Honeywell) Android PDA 上的 OCR 扫描插件。
这一次,PDA 不再只是“读条码的枪”,而是升级为一台随手可得、看得懂字、还能自动把结果敲进业务系统的 AI 视觉终端。
一句话点题
扫码枪怎么用,OCR 就怎么用。 光标停在业务 APP 的输入框 → 按一下扫描键 → 识别结果“唰”地自动填进去,全程 1~2 秒,全离线,数据不出设备。
Android-OCR-V1 不是一款要你打开、点击、再操作的 App,而是一个常驻后台服务——装好后,它就是 PDA 的“系统能力”:
1 | 业务 APP(光标停在输入框) |
和普通扫码插件的区别
普通扫码插件读的是一维码 / 二维码;Android-OCR-V1 读懂的是卡片、标签、单据上的印刷文字——序列号、批次号、奖项、日期……这些“没有编码规则可解”的内容。
同样是“取像”,Android-OCR-V1 给了 两条路,系统设置里一键切换,后台识别管线完全一致。
| 模式 | 取像来源 | 适用场景 |
|---|---|---|
| 📷 摄像头模式 | CameraX 预览取景拍照 | 需要自由取景、大视野拍摄 |
| 🔦 扫描引擎模式 🆕 | PDA 内置扫码引擎(Brady IPS 最新扫描引擎框架)抓图 | 无摄像头 / 摄像头不便 / 需要扫码头 LED 补光 |


这是本版本最“硬核”的进化——直接调用 PDA 内置扫码引擎的成像器抓取图像,再走同一套 OCR 管线。
眼脑结合
PDA 扫码头 = 可靠的“眼”,Android-OCR-V1 = 聪明的“脑”。 眼脑结合,让一台设备同时“读得了条码”也“看得懂字符”。
Android-OCR-V1 支持 三种触发方式,覆盖从产线工人到业务系统集成的全部场景:
| 触发方式 | 机制 | 典型场景 |
|---|---|---|
| ⌨️ 物理扫描按键 | PDA 按键 触发机制 常驻监听 PDA 侧键/枪键 |
产线工人最原生的操作 |
| 📡 自定义按键广播 | 业务 APP / 自定义按键映射发送 ocr.scan 广播 |
业务系统主动调用、集成联动 |
| 🪟 悬浮窗口 | 屏幕常驻悬浮球,点击即触发 | 无扫描键 / 平板 / 手动触发 |
按 PDA 扫描键(侧键/枪键)→ 自动弹出取像窗口 → 对准 → 拍照 → 结果回填。窗口已开时重复触发自动忽略,防抖不叠加。
不依赖物理键,业务 APP 或任意触发源只要发一条广播:
1 | Intent intent = new Intent("ocr.scan"); |
ocr.scan 广播,就等于给 PDA 加了一个“OCR 扫描键”开启悬浮窗后,屏幕上常驻一颗可拖动的悬浮球:
悬浮窗的价值
悬浮球把“识别”这件事从“按键动作”变成了“点击动作”——仓库盘点、门店导购、户外作业,随手就能用。
Android-OCR-V1 不挑设备——手机形态的 PDA、大屏平板都能跑:
场景延伸
一把 PDA 能干的活,平板也能干;有扫描键的用扫描键,没有的就用悬浮球——入口自由,体验一致。

识别引擎导出 ONNX 后在 PDA 端用 ONNX Runtime 推理,配 OpenCV 做图像处理:
| 档位 | 模型体积 | 特点 | 适用 |
|---|---|---|---|
| 🪶 tiny(默认) | 6MB | 极速,中端 PDA 流畅 | 产线首选 |
| 📱 small | 30.5MB | 精度更高,复杂背景 | 难识别场景 |
识别前可按需挂载滤镜链(⚪白平衡 5 / 🌓对比度 6 / ✨增强 4),应对现场各种“不友好”:
| 场景 | 推荐滤镜链 |
|---|---|
| 🌑 暗光 | Gamma 校正 / CLAHE |
| 🌫️ 低对比、发灰 | CLAHE → 锐化(黄金组合) |
| 🌈 偏黄偏蓝 | 灰度世界法 → CLAHE |
| 🌒 阴影、卡片弯折 | 顶帽去阴影 → CLAHE |
滤镜管理页支持拍照 → 实时预览 → 手动 OCR 对比 → 改动即存自动启用,现场随手调。
不像普通 OCR 把整段文字一股脑丢出来,Android-OCR-V1 用正则规则库从识别全文里精准捞出字段:
| 能力 | 说明 |
|---|---|
| 📝 任意字段 | 序列号、批次号、日期、金额、奖项……想提取啥配置啥 |
| 🏷️ 字段命名 | 每条规则起个名,结果一目了然 |
| 🔢 多字段拼接 | 命中多条规则 → 半角逗号拼接输出 |
| ⚙️ 启停控制 | 规则随时启停,不用就关 |
| 📦 无规则兜底 | 没配规则 → 直接输出 OCR 全文 |
1 | 规则名: 序列号 |
识别完成,结果去哪?直接键入业务 APP 当前的输入框:
| 输出通道 | 说明 |
|---|---|
| ⌨️ 无障碍焦点注入 | 通过无障碍服务把文字注入当前焦点输入框,中文无压力 |
| 📡 广播输出 | 结果随 Action + Extra Key 广播给业务 APP(可自定义) |
| 🧹 空格过滤 | 一行开关,输出自动去半角+全角空格 |
| ⏎ 追加回车 | 可配置识别成功后自动补一个回车 |
诚实边界
Android 平台的车牌回车/按键注入有系统限制:可靠的原厂键盘注入正在接入中,当前默认走“无障碍”通道(兼容任意 Android PDA,中文无压力)。注入逻辑接入后体验会更进一步。
| 指标 | 值 |
|---|---|
| 识别模型 | 哈皮实验室OCR模型 OCRv6(tiny 6MB / small 30.5MB) |
| 推理栈 | ONNX Runtime 1.21.1 + OpenCV Java 4.10 |
| 整图识别 | 200~500ms(中端机) |
| 框内局部识别 | ~37ms/区域 |
| 取像模式 | 摄像头(CameraX)/ Brady IPS 扫描引擎(AIDC captureImage) |
| 触发方式 | 物理扫描键 / 自定义广播 / 悬浮球 |
| 输出方式 | 无障碍焦点注入 / 广播 |
| 运行环境 | Android 9+(minSdk 29),手机形态 PDA / 平板通吃 |
| 离线 | ✅ 全本地运算,数据不出设备 |
| 授权 | SN 绑定 |

主界面 5 个入口,把整个 OCR 工作流收进一个 App:
| 入口 | 内容 |
|---|---|
| 📷 OCR 测试 | 拍照识别全流程(档位 / 预处理 / 耗时 / 标记图) |
| 🎨 滤镜管理 | 15 滤镜开关调参 + OCR 对比 |
| 🔤 表达式建立 | 正则规则 CRUD + 测试 |
| ⚙️ 系统设置 | 模型 / 扫描模式 / 焦点输出 / 广播 / 输出行为 / 显示 / 悬浮窗 |
| 🧞 关于 | 版本 / 设备 SN / License 导入与授权状态 |
你只需要准备:
三步上岗
安装 → 授权 → 扫。 从拆箱到现场开跑,以分钟计。
Android-OCR-V1 跑的是标准 ONNX 模型 + 标准 Android 推理栈。这意味着:
面向未来
Android-OCR-V1 不只是一款插件,更是哈皮实验室为“AI 算力 PDA 时代”提前铺好的一条端侧视觉通道。
💬 如需 Android-OCR-V1 商务合作、产品试用、现场集成,请联系哈皮实验室。
哈皮实验室 · 让 Android PDA 也看得懂世界
一按即得,看得懂字,填得进系统
🌐 www.happylab.me
Previous

三个产品,三次发布。 扫描枪 OCR —— 让扫描枪的眼睛看懂世界。固定式 OCR —— 读得懂字符,分得清好坏。Android OCR —— 让 PDA 也有...
Next

读码器在产线上见过太多“假装没问题”的条码。 一条印歪的、褪色的、带污点的条码,今天扫码枪勉强能过,明天可能就过不去了——等它彻底扫不出来的时候,停线、退货、合...