前言
今天无意间在网上发现了一款Windows
系统可用、开源、面向普通用户、基于PaddleOCR
的本地文本识别工具。经过对它的一系列配置,将本地的配置文件导出并记录在这里,方便日后在其他电脑上进行快速部署。
PaddleOCR
是一款基于PaddlePaddle
的轻量级开源文本识别模型库,今年年初为满足毕设中证件智能识别模块开发需求做过一些研究(这里是当时对PaddleOCR的配置使用笔记)。没想到竟然能在今年年末发现有大佬从今年3月底开始同样基于这款模型库开发并开源了一款面向用户的,方便快捷的文本识别工具!
相信很多人和我一样,经常会有在电脑上进行OCR
操作的需求。从几年前开始我陆续使用过很多第三方的工具(如:天若OCR
、QQ截图OCR
等),但是它们终究都没能很好的满足我在体验方面的需求。于是自己开发了一个基于Web异步请求和百度高精接口的轻量级应用,使用范围也局限于自己和身边的个别人。毕竟使用别人的在线接口,还是会有很多不稳定性因素在里面的。原本打算年底在自己服务器上基于PaddleOCR server端模型
对该应用进行重构,现在看来已经必要性不大了。
Umi-OCR
简介
按照官方的介绍,这是一款免费,开源,可批量的离线OCR软件:
兼容性
- 系统支持
Win10 x64
及以上版本。 - CPU必须具有
AVX
指令集。 - 出现初始化引擎失败等问题时请参考 问题排除 。
地址
更新日志(截至12.8)
v1.3.2 2022.12.1
新功能:创建开机启动项时,可选不显示主窗口。
新功能:OCR结果输出到每个图片同名的单独txt文件。
新功能:增加独立的设置语言窗口,可在多处点开,便于切换语言。
新功能:合并段落添加合并自然段-西文模式,可在英文段落换行时补充空格。
新功能:快捷识图可选自动清空面板,只显示本次识别结果,且隐藏时间信息。
修复了一些BUG。
v1.3.1 2022.11.4
修Bug:快捷键模块重写,引入pynput库,舍弃keyboard库,解决几率失效、录制不正确等Bug。
新功能:添加开机自启,桌面快捷方式,开始菜单快捷方式。
新功能:多开软件时提示。
新功能:截图时隐藏窗口。
调整UI:使用频率极低的设置项设为隐藏的高级选项。
优化:检查引擎组件是否存在。
优化:横排-合并多行-自然段 优化逻辑,支持0~2全角空格首行缩进。
v1.3.0 2022.9.29
新功能:框选截屏。
新功能:系统托盘图标。
新功能:引擎进程常驻。
新功能:文本块后处理模块。
新功能:自定义主输出栏字体。
新功能:设置窗口弹出模式(保持置顶)。
调整UI:自适应Win风格组件。
修正了Bug:系统语言兼容性问题 issue #16 。
修正了Bug:微信图片粘贴问题 issue #22 。
更新PaddleOCR-json模块至v1.2.1,提供剪贴板支持。快捷识图通过剪贴板中转,无需再保存临时文件到硬盘。
v1.2.6 2022.9.1
更新PaddleOCR-json模块至v1.2.0,提高识别速度、准确度。
调整UI:更方便地用下拉框切换识别语言。
调整UI:可以从主窗口任意位置/任意选项卡拖入图片。
修正了Bug:提高程序健壮性,增加启动子进程时的更多异常处理情况。
修正了Bug:彻底解决了对边缘过窄的图片,识别结果不准确的问题 issue #7 。
优化适配PP-OCRv3模型,彻底解决了v3版模型比v2慢、不准的问题 issue #4 。
v1.2.5 2022.7.22
新功能:计划任务。识图完成后执行自动关机等任务。
新功能:可选拖入文件夹时递归导入子文件夹中所有图片。
调整UI:添加一些配置文件的快捷入口。
v1.2.4 2022.6.4
新功能:可选识别剪贴板图片后自动复制识别的文本。
补充功能:快捷键调用剪贴板识图时,若程序窗口被最小化,则恢复前台状态并挪到最前位置。
v1.2.3 2022.5.31
新功能:读取剪贴板图片。配置全局快捷键调用该功能。
v1.2.2 2022.4.30
新功能:可选任务完成后自动打开输出文件或目录。
v1.2.1 2022.4.16
更新PaddleOCR-json模块至v1.1.1,修正了可能得到错误包围盒的漏洞。
v1.2.0 2022.4.8
可选生成图文链接.md文件,作为索引使用有更佳的观感。
修改设置面板的样式,改为滚动面板以容纳更多设置选项。
用户修改配置项后可自动保存。
v1.1.1 2022.3.30
修正了Bug:退出忽略区域窗口时,OCR子进程未关闭。
v1.1.0 2022.3.30
新功能:忽略区域窗口以虚线框 展示识别出的文字块。
v1.0.0 2022.3.28
“梦开始的地方”
体验
综合体验还是很好的,文本识别准确率也比较高(就是界面丑了点,哈哈,问题不大)。
用户界面(按照我的配置,几乎用不到)
识别内容:
设置:
功能
针对批量图片需要处理的场景功能也很强大,在这里我就不一一展开介绍了,可以参考这里。
配置备份
配置后通过win+shift+a
快捷键来触发截图,截图识别结果将不再主界面展示,而是直接被复制到剪切板,主界面“识别内容”可作为识别历史记录加以回溯参考。
{
"isDebug": false,
"isAdvanced": false,
"isTray": true,
"isBackground": true,
"clickTrayModeName": "显示面板",
"textpanelFontFamily": "Microsoft YaHei UI",
"textpanelFontSize": 14,
"isTextpanelFontBold": false,
"WindowTopMode": 0,
"isAutoStartup": true,
"isStartMenu": true,
"isDesktop": false,
"isHotkeyClipboard": true,
"hotkeyClipboard": "win+alt+v",
"isHotkeyScreenshot": true,
"isScreenshotHideWindow": false,
"screenshotHideWindowWaitTime": 200,
"hotkeyScreenshot": "shift+win+a",
"hotkeyMaxTtl": 2.0,
"isHotkeyStrict": false,
"scsModeName": "Umi-OCR 软件截图",
"scsColorLine": "#3366ff",
"scsColorBoxUp": "#000000",
"scsColorBoxDown": "#ffffff",
"isNeedCopy": true,
"isNeedClear": false,
"isOpenExplorer": false,
"isOpenOutputFile": false,
"okMissionName": "关机",
"okMission": {
"关机": {
"code": "msg %username% /time:25 \"Umi-OCR任务完成,将在30s后关机\" & echo 关闭本窗口可取消关机 & choice /t 30 /d y /n >nul & shutdown /f /s /t 0"
},
"休眠": {
"code": "msg %username% /time:25 \"Umi-OCR任务完成,将在30s后休眠\" & echo 关闭本窗口可取消休眠 & choice /t 30 /d y /n >nul & shutdown /f /h"
}
},
"isRecursiveSearch": false,
"isOutputTxt": true,
"isOutputSeparateTxt": false,
"isOutputMD": false,
"isOutputJsonl": false,
"isIgnoreNoText": true,
"tbpuName": "优化单行",
"isAreaWinAutoTbpu": false,
"ocrToolPath": "PaddleOCR-json/PaddleOCR_json.exe",
"ocrRunModeName": "",
"ocrConfigName": "简体中文",
"ocrConfig": {
"简体中文": {
"path": "PaddleOCR_json_config_ch.txt"
}
},
"argsStr": "",
"isOcrAngle": false,
"ocrCpuThreads": 10,
"isOcrMkldnn": true,
"ocrLimitModeName": "长边压缩模式",
"ocrLimitSize": 960,
"imageSuffix": ".jpg .jpe .jpeg .jfif .png .webp .bmp .tif .tiff",
"isLanguageWinAutoExit": false,
"isLanguageWinAutoOcr": false,
"processID": 3128,
"processKey": "1670492176.8567443",
"promptScreenshotScale": true,
"promptMultiOpen": true
}
参考资料:
Release Umi-OCR 文字识别工具 v1.3.2 · hiroi-sora/Umi-OCR · GitHub
版权属于:soarli
本文链接:https://blog.soarli.top/archives/673.html
转载时须注明出处及本声明。