直接读取数字,
不识别标题。
照片和识别计算留在浏览器内。标题不清晰、被反光遮住或换了字体,都不会成为拒绝识别的条件。
怎样使用
- 默认使用“微型数字模型”,未读到时自动尝试通用 OCR,点击拍照或从相册选择图片。拍入完整数字行及附近红色界面。
- 没有读到时,页面会显示读到的片段和失败原因。点击“框选数字重试”,框住完整数字,核对下方放大预览,再重新识别;也可旋转图片。
- 读到符合红色界面要求的唯一数字后,会自动复制并尝试打开拼多多,无需打勾或再点按钮。多组符合要求的数字时,点击目标即打开;浏览器若拦截自动跳转,页面会显示一键打开按钮。
- 可以关闭“没读到时尝试其他本地方式”,单独测试选中的引擎。结果和记录会显示真正运行的方式。
- 失败时可“保存图片到本机”和“复制排错信息”;这些按钮均由你主动操作,不自动上传照片。实时预览会串行识别,两次相同结果后关闭摄像头并自动打开拼多多。合成示例不会自动打开应用。
只接受连续 7–9 位数字,不主动删除空格或标点拼接,不把已发现的长串截短。OCR 仍可能漏字或误读,可以回到网页查看识别数字及原图。
红色界面如何判断
先识别数字,再检查它附近是否存在红色区域。数字颜色不限白色或黄色;白卡片内的数字也会进入识别。
没有找到红色时仍显示候选数字,但不开放 App 跳转。红色只是样式辅助,无法证明画面来自某个 App,也无法排除所有普通红色海报。不会调用标题 OCR、中文模型或标题字体模板。
三种方式的实际区别
通用 OCR:Tesseract 在本机 Web Worker / WebAssembly 中运行,首次识别资源约 6.12 MB。结合完整数字行和周围上下文读取,必要时校正倾斜、按单行或局部自适应阈值重读;不以标题或字符连通域数量为前置门槛。
实验 · 字体模板:在本机生成数字模板。对清晰、相近字体可能较快;支持红底及白色卡片。关闭自动切换时只运行模板引擎。
默认 · 微型模型:模型 26,993 字节,普通 JavaScript 推理;关闭自动切换时只运行此模型;不依赖 WASM 或 Worker。
打开自动切换后,当前方式没有结果才尝试其他方式;通用 OCR 失败也可尝试小模型。结果会显示实际使用的引擎。三种方法都可能误读,不能把多个入口出现相同结果当成实拍准确率保证。
本次修正和测试边界
r6 在识别成功后自动打开拼多多,移除勾选确认步骤;并继续修正实际屏摄照片中的倾斜数字行和淡水印干扰。优先读取完整数字行,保留周围上下文检查,不会识别标题或依据预设数字返回结果。
原失败照片已经从实际手机页面取回,修复前后使用同一份原始相机文件对照。详细结果见下方“测试证据与待验收项”;单张照片成功不能代表所有拍摄条件或所有手机。字体模板使用本机字体,结果可能随设备变化。
数字本身被反光遮掉、过小、模糊、严重透视或摩尔纹时仍可能读错或读不到。页面可仅在本浏览器保留最近一张照片,刷新后点击恢复;可关闭或清除,不会上传。失败时可框选完整数字后重试。
通用 OCR 默认最多使用 12 秒图像运算预算,首次模型初始化与其他引擎时间另计。首次打开需下载静态页面、模型和 WASM;资源与照片加载后计算在本机完成。不保证首次离线打开或离线刷新。微信、QQ 和部分厂商浏览器可能限制拍照、复制或 App 跳转。
调研与源码
调研保留 12 条路线,包括浏览器实验 API、原生 SDK、模板与小模型、Tesseract、ONNX、TensorFlow.js、Paddle.js、Ocrs 和 OCRad。普通网页没有覆盖安卓与苹果的统一系统 OCR 接口。