eSearch提供了开箱即用的离线 OCR,还可以选择在线 OCR。
离线 OCR 完全免费,不依赖网络,但它体积较大。部分在线 OCR 可以免费体验,但它速度快,准确率高,不占体积。eSearch默认启用离线 OCR,可以直接使用。
eSearch目前支持的在线 OCR 服务是百度 OCR和有道 OCR。
参考百度 OCR 的教程,获取 API Key 和 Secret Key,并填入设置中。截止 2022 年 1 月,百度 OCR 还可以免费领取服务。
参考有道 AI 文档,在创建应用时服务选择光学字符识别服务-通用文字识别,接入方式为API,获取应用 ID 和密钥,并填入设置中。
一方面,现在的 OCR 模型尽管识别率差强人意,但细节上有待提高,另一方面,由于印刷、字体等问题,OCR 常误判。对于一般的文本识别,目前的离线 OCR 已经够用,但如果你需要通过 OCR 录入文字,或精益求精,校对功能是必不可少的。
Note
本软件的校对功能并非专业,如果你需要更专业的校对,请使用其他专业 OCR 软件。
同样不对校对结果负责,人是最后的校对者,软件仅作为辅助。
一些 OCR 并不能识别文字,而是把文字的一行视为一个段落。
比如这是一个段落。但
由于显示软件的自动换
行,视觉上显示为多行,
OCR把他们视为5个段
落。
自动删除换行可以分析结尾符号,自动删除换行。你也可以选中部分文字,针对他们进行删除换行操作。支持拉丁文字删除换行后自动添加空格。
仅仅是换行校对还不够,主页面提供了图片区进行辅助校对。
直接在图片区上选择文字,你可以体验类似苹果 Live Text(实况文本)的功能。但不止选择文字,选区将同步到编辑器,你在图片上选什么,编辑器就选什么,这样既可以知道图片上文字的位置,又可以编辑文字进行校对。
编辑器将使用 Chrome 的拼写检查,使用蓝色波浪线标出拼写错误,这样你就可以知道 OCR 这里识别错误(有时候会识别英式英语的一些拼写错误,忽略即可)。只知道错误还不行,需要找出原文,在编辑器上选择文字,自动在图片区上选中原文。
这样的选择双向同步既能了解文字在图片中的信息,也拥有的编辑能力。
不必担心编辑后就无法同步选择了,通过 diff 算法,即使你在编辑器上增删,双向同步也能尽可能地进行定位。
高级功能
离线 OCR 使用了 paddleOCR 的 OCR 方案。
目前 paddleOCR 还预训练了多种文字识别模型:
- 中英混合
- 中文繁体
- 英文
- 韩文
- 日文
- 泰卢固文
- 卡纳达文
- 泰米尔文
- 拉丁文
- 阿拉伯字母
- 斯拉夫字母
- 梵文字母
你可以直接在设置里下载,那里提供了文字与语言的对应,比如德语对应拉丁文。下载后自动添加到 OCR 模型列表。
也可以在这里下载,都提供了语言到文字的对应,还可以在 GitHub下载,模型都是一样的,GitHub 上没有文字提示。下载完毕后,解压到文件夹里,你会看到 1~3 个文件,打开 设置-OCR 在一旁准备。选择下载的全部文件,一起拖拽到设置里,添加完毕。之后你可以更改 OCR 名字。
自己训练:
- 使用 paddleocr 训练模型
- 在paddle2onnx在线转换为 onnx 模型,也可以使用Paddle2ONNX本地转换
- 将检测模型命名为包含
det
的文件,将识别模型命名为包含rec
的文件 - 全选,拖拽到设置 OCR 的位置,添加完毕。
默认使用 CPU 运行模型,还支持 CUDA、coreML(mac)、DirectML(Windows)。可叹 onnxruntime Node.js 暂时不支持 Vulkan,我也没有 CUDA,所以还没测试,理论上如果你的设置支持以上三种后端,应该可以更快运行模型。
目前模型在 CPU 运行时也保持在可接受的速度。
Tip
有时候复制 PDF 文字也会遇到多余的换行,可以尝试使用自动删除换行,不仅仅是用于 OCR 校对。
Tip
你可以设置 OCR 后自动复制文字到剪贴板。