推荐一款纯离线OCR识别开源软件
这次要推荐的是一款可以纯离线使用,无需担心隐私泄露的开源OCR软件,开源项目已经快到5k star的项目,名称叫“Umi-OCR”,OCR图片转文字识别软件,完全离线。截屏/批量导入图片,支持多国语言、合并段落、竖排文字。可排除水印区域,提取干净的文本,基于 PaddleOCR 。
推荐理由
此款软件本人已经使用将近3周,识别速度确实快,关键是个开源项目,不存在需要上传图片上云再识别,即便在不联网的情况也能使用(亲测断网也能正常识别),数据完全在本地处理,针对一些在断网开发不允许连接外网的小伙伴是一个不错的选择,比如经常给图片,需要挨个敲字确实麻烦,有了这款工具就可以大大减少手敲时间,支持批量和定时处理,因此推荐给大家,可能唯一不足的是仅有Windows端可以使用,若你也有此类好用的软件可以评论区留言~
软件一览
软件特性
- 免费:本项目所有代码开源,完全免费。
- 方便:解压即用,离线运行,无需网络。
- 批量:可批量导入处理图片,结果保存到本地 txt / md / jsonl 多种格式文件。也可以即时截屏识别。
- 高效:采用 PaddleOCR-json C++ 识别引擎。只要电脑性能足够,通常比在线OCR服务更快。
- 精准:默认使用PPOCR-v3模型库。除了能准确辨认常规文字,对手写、方向不正、杂乱背景等情景也有不错的识别率。可设置忽略区域排除水印、设置文块后处理合并排版段落,得到规整的文本。
目前已实现的功能:
- 输出内容可选为markdown风格并嵌入图片路径。
- 设置项能保存。
- 自动打开输出文件or文件夹。
- 识别剪贴板中的图片。
- 任务进行时,禁用部分设置项。
- 计划任务:完成后自动关机/休眠等。
- 递归导入文件夹。
- 优化适配PaddleOCR v3模型。
- 增加OCR引擎进程常驻后台的模式,大幅缩短剪贴板识图等零碎任务动时间。
- 监控OCR引擎进程内存占用,并可随时强制停止该进程。
- 内置截图。
- 可最小化至系统托盘。
- 优化UI:以图标代替文字按钮。设置项悬停有气泡提示框。
- 自动检测Windows语言是否兼容
- 解决引擎Opencv对不同地区语言Windows的兼容性。
- 优化引擎参数设置。
- 排版后处理:匹配/合并同段落文本,支持横/竖排。
- 可设置窗口弹出模式(锁定置顶)。
- 重新快捷键模块,解决失效和录制不正确的Bug。
- 设置开机自启。
- 创建快捷方式到开始菜单、桌面。
- 多开提示。
- 截图时隐藏窗口。
- 结构输出到每个图片同名的单独txt文件
- 创建开机启动项时,可选
不显示主窗口
。 - OCR结果输出到每个图片同名的单独txt文件。
- 增加独立的设置语言窗口,可在多处点开,便于切换语言。
- 合并段落添加
合并自然段-西文模式
,可在英文段落换行时补充空格。 - 快捷识图可选
自动清空面板
,只显示本次识别结果,且隐藏时间信息。 - 通过命令行控制Umi-OCR。
- 弹出悬浮的识别成功与否的提示。
- 定时或超过限度时自动清理引擎内存占用。
下载地址
Github官方开源下载地址:点此下载
官方蓝奏网盘分享下载地址:点此下载
个人防和谐蓝奏网盘分享地址:点此下载
使用源代码自己构建可以点此访问Github项目地址详细说明
快速入门
准备
下载压缩包并解压全部文件即可。
截图识别
点击截图按钮或自定义快捷键,唤起截图识别。
粘贴图片到软件
在任何地方(如文件管理器,网页,微信)复制图片,软件上点击粘贴按钮,自动识别。
批量识别本地图片文件
将图片或文件夹拖进软件,批量转换文字。也可以点击按钮打开浏览窗口导入。
识别结果将保存到本地。可选生成纯文本txt文件、带链接Markdown文件、原始信息jsonl文件等不同格式。可配置任务完成后执行关机/待机。
效率测试
测试机器:
CPU | TDP | RAM | 是否兼容mkldnn |
---|---|---|---|
r5 4600u | 15w | 16g | 无报错 |
测试集:
图片张数 | 测试条件 | 分辨率 | 平均字块数量 | 平均字符数量 | 文字语言 |
---|---|---|---|---|---|
100 | 环境相同,多次测量取平均值 | 1920x1080 | 15 | 250 | 简体中文 |
测试结果:
Umi-OCR版本 | 1.2.5 | 1.2.5 | 1.2.6 | 1.2.6 | 1.2.6 | 1.2.6 |
---|---|---|---|---|---|---|
PaddleOCR-json版本 | 1.1.1 | 1.1.1 | 1.2.0 | 1.2.0 | 1.2.0 | 1.2.0 |
PP-OCR C++版本 | 2.1 | 2.1 | 2.6 | 2.6 | 2.6 | 2.6 |
是否开启mkldnn | ✅ | ✅ | ✅ | ✅ | ||
PP-OCR模型库版本 | v2 | v2 | v2 | v3 | v3 slim | v3 |
总耗时(秒) | 90 | 120 | 65 | 63 | 170 | 400 |
平均单张耗时(秒) | 0.9 | 1.2 | 0.65 | 0.63 | 1.7 | 4.0 |
内存占用峰值(MB) | 1000 | 350 | 1200 | 1700 | 5800 | 500 |
结论:
- 在启用mkldnn情况下,
v1.2.6
及之后的版本,比前代的效率具有显著优势。新版调教倾向于榨干硬件的性能,内存占用高于旧版。 - 不启用mkldnn时,新版本效率不如前代。故您的CPU若不支持mkldnn(极早期AMD型号),可尝试使用
v1.2.5
的旧版本Umi-OCR。 - 虽然Paddle官方文档中说经过压缩剪枝蒸馏量化的slim版模型的性能指标会超过传统算法,但实测 v3 slim 模型的性能远不如原始版本,还可能伴随着内存泄漏的问题。也许是 PP-OCR C++ 引擎不适配。在该问题解决之前,Umi-OCR发行版提供原始版本模型。
参考链接
商业转载请联系作者获得授权,非商业转载请注明本文出处及文章链接