图片转文字
hiroi-sora/Umi-OCR
Latest commit
Files
Umi-OCR 文字识别工具
适用于 Windows7 x64 及以上
- 免费:本项目所有代码开源,完全免费。
- 方便:解压即用,离线运行,无需网络。
- 批量:可批量导入处理图片,结果保存到本地 txt / md / jsonl 多种格式文件。也可以即时截屏识别。
- 高效:采用 PaddleOCR-json C++ 识别引擎。只要电脑性能足够,通常比在线OCR服务更快。
- 精准:默认使用PPOCR-v3模型库。除了能准确辨认常规文字,对手写、方向不正、杂乱背景等情景也有不错的识别率。可设置忽略区域排除水印、设置文块后处理合并排版段落,得到规整的文本。
说明目录
- 简单上手 截图、批量识别~
- 排版优化 如何合并一个自然段内的文字?
- 忽略区域 如何排除截图水印处的文字?
- 多国语言 添加更多PP-OCR支持的语言模型库!
- 命令行调用 用命令行或第三方工具来调用Umi-OCR!
- 联动翻译软件 截图OCR后发送指定按键,触发翻译软件进行翻译
- 更多小技巧
- 问题排除 无法启动引擎 / 多屏幕截图异常 ?
下载
Win7/8 用户 及 凌动、赛扬、奔腾处理器用户:
兼容低版本Windows
和无AVX指令集的CPU
的新识别引擎正在测试阶段,详情见这儿 。
Win10/11 用户:
Github下载:Release v1.3.5
蓝奏云下载:https://hiroi-sora.lanzoul.com/s/umi-ocr
Umi-OCR 软件本体含 简体中文&英文 通用识别库。
配套 多国语言识别扩展包 可导入繁中,英,日,韩,俄,德,法
识别库,请按需下载。
使用源代码
展开兼容性(Paddle引擎版本)
- 系统仅支持 Win10 x64 及以上版本。
- CPU必须具有AVX指令集。(凌动、安腾、赛扬和奔腾处理器可能不兼容)
- 若您的软硬件不符合以上条件,可使用 Rapid引擎版本 。
前言
关于忽略指定区域的特殊功能:
类似含水印的视频截图、含有UI/按钮的游戏截图等,往往只需要提取字幕区域的文本,而避免提取到水印和UI文本。本软件可设置忽略某些区域内的文字,来实现这一目的。
当有大量的影视和游戏截图需要整理归档,或者想翻找包含某一段台词/字幕的截图;将这些图片提取出文字、然后Ctrl+F是一个很有效的方法。这是开发本软件的初衷。
关于离线OCR引擎 PaddleOCR-json :
对 PaddleOCR 2.6 cpu_avx_mkl C++ 的封装。效率高于Python版本PPOCR及部分Python编写的OCR引擎,通常比在线OCR服务更快(省去网络传输的时间)。支持更换Paddle官方模型(兼容v2和v3版本)或自己训练的模型,支持修改PPOCR各项参数。通过添加不同的语言模型,软件可识别多国语言。
简单上手
准备
下载压缩包并解压全部文件即可。
截图识别
点击截图按钮或自定义快捷键,唤起截图识别。
v1.3.4
还可以设置截图后生成一个预览窗口。预览窗口可以被钉在屏幕顶层,或调为半透明,方便对比查看。
粘贴图片到软件
在任何地方(如文件管理器,网页,微信)复制图片,软件上点击粘贴按钮或快捷键,自动识别。
批量识别本地图片文件
将图片或文件夹拖进软件,批量转换文字。也可以点击按钮打开浏览窗口导入。
识别结果将保存到本地。可选生成纯文本txt文件、带链接Markdown文件、原始信息jsonl文件等不同格式。可配置任务完成后执行关机/待机。
文本块后处理(排版优化)
OCR识别出的文本是按“块”划分的,通常一行文字分为一块,有时还会将一行误划分为多块,这给阅读带来了不便。文本块后处理就是对文本块进行再加工的过程,合并同一行或同一段落内的文字,按正确的顺序排序。
下图表示不同排版应该选用何种处理方案:
所有排版方案一览:
展开忽略区域功能
忽略区域是本软件特色功能,可用于排除图片中水印的干扰,让识别结果只留下所需的文本。
展开添加多国语言
展开
进阶操作 & 小技巧
命令行调用
展开
复制后发送按键 & 联动翻译软件
展开自定义计划任务
展开内存清理
展开添加到运行(Win+R快捷键)
展开问题排除
无法启动引擎
展开多屏幕截图不正常
展开未找到引擎组件
请将引擎组件 PaddleOCR-json 文件夹
放置于程序入口(main.py或exe)同目录下。
效率测试
展开开发说明
展开TODO
已完成画饼(有生之年)更新日志
点击版本号链接可前往对应备份分支。
v1.3.5 2023.6.20
- 新功能:复制识别结果后,可发送指定按键,以便联动唤起翻译器等工具。
- 新功能:命令行增加切换识别语言的指令。
- 修Bug:低配置机器上有概率误报
OCR init timeout: 5s
。#154 , #156。 - 调整:默认停止任务30秒后释放一次内存。
v1.3.4 2023.4.26
- 新功能:截图预览窗口。
- 新功能:可用方向键微调截图框位置。
- 修Bug:拖入图片时有几率卡退主窗口 issue #126 。
- 优化了一些处理流程。
v1.3.3 2023.3.19
- 新功能:命令行模式。
- 新功能:识图完成的通知悬浮窗。
- 新功能:自动清理引擎内存。
- 修复了一些BUG,优化了一些UI表现。
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
- “梦开始的地方”
感谢
本项目核心引擎组件源自 PaddlePaddle/PaddleOCR:
Awesome multilingual OCR toolkits based on PaddlePaddle
本项目中所使用的库:
google/python-gflags
Python implementation of the Google commandline flags module.
moses-palmer/pynput
This library allows you to control and monitor input devices.
Infinidat/infi.systray
A Windows system tray icon with a right-click context menu.
Pwm
Pmw is a toolkit for building high-level compound widgets in Python using the Tkinter module.
Umi-系列图片处理软件
Umi-OCR 批量图片转文字软件 ◁
About
OCR图片转文字识别软件,完全离线。截屏/批量导入图片,支持多国语言、合并段落、竖排文字。可排除水印区域,提取干净的文本。基于 PaddleOCR 。