|
|
@ -2,21 +2,20 @@ |
|
|
|
|
|
|
|
软件用途:批量对本地图片文件进行离线OCR文字识别。win10 x64平台。 |
|
|
|
|
|
|
|
> 本软件是本地图片文件处理工具,没有实时屏幕截图识别的功能。 |
|
|
|
> v1.2.3 版本中加入读取剪贴板的功能,可即时识别系统截图。 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
```v1.2版本新功能:支持生成Markdown文件``` |
|
|
|
 |
|
|
|
|
|
|
|
## 下载 |
|
|
|
|
|
|
|
Github下载: |
|
|
|
[Umi-OCR 批量图片转文字 v1.2.2](https://github.com/hiroi-sora/Umi-OCR/releases/tag/v1.2.2) |
|
|
|
[Umi-OCR 批量图片转文字 v1.2.3](https://github.com/hiroi-sora/Umi-OCR/releases/tag/v1.2.3) |
|
|
|
|
|
|
|
蓝奏云下载: |
|
|
|
蓝奏云下载:(请留意版本号) |
|
|
|
[https://wwn.lanzoul.com/b036wwa4d](https://wwn.lanzoul.com/b036wwa4d) |
|
|
|
密码:5w36 |
|
|
|
|
|
|
@ -33,14 +32,14 @@ Github下载: |
|
|
|
|
|
|
|
## 简介 |
|
|
|
|
|
|
|
本软件用于批量导入本地图片,识别图片中的文本,输出到软件面板或本地txt文件。 |
|
|
|
除了能批量识别普通图片,本软件还有**忽略指定区域**的特殊功能。 |
|
|
|
本软件用于读取系统截图 / 批量导入本地图片,识别图片中的文本,输出到软件面板或本地txt文件。 |
|
|
|
除了能批量识别普通图片,本软件还有**忽略指定区域**的特殊功能: |
|
|
|
|
|
|
|
> 类似含水印的视频截图、含有UI/按钮的游戏截图等,往往只需要提取字幕区域的文本,而避免提取到水印和UI文本。本软件可设置忽略某些区域内的文字,来实现这一目的。尤其是,特别适合用于批量提取Galgame截图中的台词。 |
|
|
|
> |
|
|
|
> 当有大量的影视和游戏截图需要整理归档,或者想翻找包含某一段台词/字幕的截图;将这些图片提取出文字、然后Ctrl+F是一个很有效的方法。这是开发本软件的初衷。 |
|
|
|
|
|
|
|
本软件使用离线OCR模块 [PaddleOCR-json 图片转文字程序](https://github.com/hiroi-sora/PaddleOCR-json) ,使用过程中无需联网。支持更换Paddle官方模型(v2.x版本)或自己训练的模型,支持修改PaddleOCR参数。通过添加不同的语言模型,软件可识别多国语言。 |
|
|
|
本软件使用离线OCR模块 [PaddleOCR-json 图片转文字程序](https://github.com/hiroi-sora/PaddleOCR-json) ,使用过程中无需联网。支持更换Paddle官方模型(兼容v2和v3版本)或自己训练的模型,支持修改PaddleOCR参数。通过添加不同的语言模型,软件可识别多国语言。 |
|
|
|
|
|
|
|
## 简单使用 |
|
|
|
|
|
|
@ -48,7 +47,7 @@ Github下载: |
|
|
|
|
|
|
|
下载压缩包并解压全部文件即可,无需安装。 |
|
|
|
|
|
|
|
### 快速开始 |
|
|
|
### 批量识别本地图片文件 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
@ -60,35 +59,56 @@ Github下载: |
|
|
|
- 识别内容选项卡中,可一键将全部文本 **复制到剪贴板** 。 |
|
|
|
|
|
|
|
|
|
|
|
### 快速识别剪贴板截图 `v1.2.3` |
|
|
|
|
|
|
|
1. 按 [Win+Shift+S] 截取一张系统截图,或者在网页等地方复制一张图片。 |
|
|
|
|
|
|
|
2. 切换到 **识别内容** 选项卡,点击 **剪贴板读取**。 |
|
|
|
|
|
|
|
3. 可以在 **设置** 选项卡中录制并启用 **全局快捷键**,快速唤起程序识别。 |
|
|
|
|
|
|
|
### 基础设置 |
|
|
|
|
|
|
|
点击 **设置** 选项卡,配置参数。大部分设置项(除去输出目录、文件名,忽略区域参数)会自动保存,下次打开还是这个样。 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
#### 忽略图片中某些区域内的文字: |
|
|
|
- 点击 **添加区域** 展开配置忽略区的新窗口。具体配置方式见后。 |
|
|
|
- 点击 **清空区域** 清空已配置的所有忽略区域参数。 |
|
|
|
- 已添加区域后,上方标题文字提示当前忽略区域的 **生效分辨率** 。 |
|
|
|
|
|
|
|
#### 从剪贴板读取图片: |
|
|
|
|
|
|
|
- 点击 **录制按键** 后按下想要的快捷键,如 `ctrl+shift+s` 。然后点击 **启用全局快捷键** 。 |
|
|
|
- 按下快捷键后,程序检查当前剪贴板的第一位是否为图片,是则程序跳到顶层并展示识别文字。 |
|
|
|
- 请检查并避免全局快捷键与其它程序冲突。 |
|
|
|
|
|
|
|
|
|
|
|
#### 输出设置: |
|
|
|
|
|
|
|
<details> |
|
|
|
<summary>展开详情</summary> |
|
|
|
|
|
|
|
- 将 **识别内容写入本地文件** 取消勾选后,不会再生成本地文件,只能在 **识别内容** 选项卡中查看输出信息。 |
|
|
|
- **输出调试信息** 若勾选,则会额外输出程序工作状态的内容。 |
|
|
|
- **忽略无文字的图片** 若勾选,则不含文字(或文字全被忽略区域屏蔽掉)的图片名称不会出现在输出信息中。 |
|
|
|
- 若想生成一份用于浏览的markdown文件,则**建议取消勾选**。 |
|
|
|
- ```v1.2版本新功能``` 生成文件可选择两种风格:**纯文本.txt文件** 和 **Markdown风格.md文件** 。前者可用于查找等一般用途。后者在编辑器或浏览器中渲染为图文并茂的页面,可用于浏览和欣赏图集。 |
|
|
|
- ```v1.2.2版本新功能``` 可勾选任务完成后用系统默认编辑器打开输出文件或输出文件夹(不生成本地文件时无效)。 |
|
|
|
- 生成文件可选择两种风格:**纯文本.txt文件** 和 **Markdown风格.md文件** 。前者可用于查找等一般用途。后者在编辑器或浏览器中渲染为图文并茂的页面,可用于浏览和欣赏图集。 |
|
|
|
- 可勾选任务完成后用系统默认编辑器打开输出文件或输出文件夹(不生成本地文件时无效)。 |
|
|
|
- **输出目录** 和 **输出文件名** 设置生成的文件的位置和名称。 |
|
|
|
- 当拖入第一张图片且这两项设置为空时,自动设置输出路径为第一张图片的父目录,输出文件名为 `[转文字]_{父目录}.txt`。除非要自定目录和名称,否则**这两项默认留空即可**。 |
|
|
|
- 软件 **处理列表** 标签页的 **清空表格** 按钮,除了会清空已导入的图片列表,还会清空 **输出目录** 和 **输出文件名** 设置。这样下次拖入新图片时,就能在新的位置存放输出文件。 |
|
|
|
</details> |
|
|
|
|
|
|
|
#### 识别器设置: |
|
|
|
|
|
|
|
- **识别器路径** 配置当前使用的识别器exe程序。 |
|
|
|
- **图片后缀** 配置软件允许载入的图片后缀,不同后缀以空格分隔,必须全为小写。 |
|
|
|
<details> |
|
|
|
<summary>正常情况下无需改动。</summary> |
|
|
|
<summary>图片后缀正常情况无需改动。</summary> |
|
|
|
|
|
|
|
- **图片后缀** 配置软件允许载入的图片后缀,不同后缀以空格分隔,必须全为小写。 |
|
|
|
- 如果你有必要添加新的图片后缀,要保证该图片同时满足c++模块的`PaddleOCR`和python的`PIL`均可识别。比如 **.gif** 图片,虽然`PIL`可以识别,但`PaddleOCR`无法识别,载入gif文件会导致软件任务失败,因此不允许载入 **.gif** 。 |
|
|
|
- 不在许可后缀范围内的文件,拖入软件也不会被载入。目前默认的图片后缀为:`.jpg .jpe .jpeg .jfif .png .webp .bmp .tif .tiff` |
|
|
|
</details> |
|
|
@ -97,6 +117,9 @@ Github下载: |
|
|
|
|
|
|
|
忽略区域是本软件特色功能。可用于批量识别视频截图时排除右上角水印的干扰,批量识别游戏截图时排除UI与按钮的干扰,让识别结果只留下干净的台词文本。 |
|
|
|
|
|
|
|
<details> |
|
|
|
<summary>展开详情</summary> |
|
|
|
|
|
|
|
“忽略区域”是指图片上指定位置与大小的矩形区域,完全处于这些区域内的文字块,将被排除。 |
|
|
|
|
|
|
|
- 点击 **设置** 选项卡中的 **添加忽略区域** ,进入忽略区域选择窗口。 |
|
|
@ -142,6 +165,7 @@ Github下载: |
|
|
|
- “忽略区域配置”只针对一种分辨率生效。假如配置的分辨率是1920x1080,那么批量识别图片时,只有符合1920x1080的图片才会排除干扰文本。 |
|
|
|
- 拖入预览的图片必须分辨率相同。假如先拖入1920x1080的图片,再拖入其它分辨率的图片;软件会弹窗警告。只有点击 **清空** 删除当前已配置的忽略区域,才能拖入其他分辨率图片,并应用此分辨率。 |
|
|
|
|
|
|
|
</details> |
|
|
|
|
|
|
|
## 切换模型库和语言 |
|
|
|
|
|
|
@ -175,9 +199,10 @@ Github下载: |
|
|
|
|
|
|
|
软件附带的模型可能过时,可以重新下载PaddleOCR的最新官方模型,享受更精准的识别质量。或者使用自己训练的模型。 |
|
|
|
|
|
|
|
本程序兼容v2和v3版本模型库,但个人实测v3的效果不稳定,v2在速度和精确性上均占优。 |
|
|
|
|
|
|
|
1. 下载模型 |
|
|
|
- 前往[PaddleOCR](https://gitee.com/paddlepaddle/PaddleOCR#pp-ocr%E7%B3%BB%E5%88%97%E6%A8%A1%E5%9E%8B%E5%88%97%E8%A1%A8%E6%9B%B4%E6%96%B0%E4%B8%AD)下载一组推理模型(非训练模型)。**中英文超轻量PP-OCRv2模型** 体积小、速度快,**中英文通用PP-OCR server模型** 体积大、精度高。一般来说,轻量模型的精度已经非常不错,无需使用标准模型。 |
|
|
|
- 注意只能使用v2.x版模型,不能使用v1.1版。v1版模型每个压缩包内有model和params两个文件,v2版则是每组三个文件;不能混用。 |
|
|
|
|
|
|
|
2. 放置模型 |
|
|
|
- 将下载下来的方向分类器(如`ch_ppocr_mobile_v2.0_cls_infer.tar`)、检测模型(如`ch_PP-OCRv2_det_infer.tar`)、识别模型(如`ch_PP-OCRv2_rec_infer.tar`)解压,将文件分别放到对应文件夹 `cls、det、rec`。 |
|
|
@ -202,7 +227,9 @@ Github下载: |
|
|
|
|
|
|
|
- 本软件工作流程是python调用c++编译的识别器exe程序,识别器exe再加载模型文件和必要的dll链接库,完成图片识别工作。因此可切换不同exe识别器和模型文件,实现切换多国语言的识别。而且,c++识别器比python版PaddleOCR具有更高的性能。 |
|
|
|
- 启动任务时,运行tk的主线程创建了一个新线程和一个事件循环。耗时量大的OCR任务在新线程中执行,对tk界面的修改由事件循环提交到主线程中执行。~~大概是这么回事?反正能跑起来就对了~~。无论任务跑得多满,界面都不会卡,~~除非实在顶不住~~。 |
|
|
|
- `PaddleOCR_json.exe`接收输入一个本地图片路径,以json格式字符串输出这张图片的识别结果,如此循环往复。具体见 [PaddleOCR-json 图片转文字程序](https://github.com/hiroi-sora/PaddleOCR-json#paddleocr-json-%E5%9B%BE%E7%89%87%E8%BD%AC%E6%96%87%E5%AD%97%E7%A8%8B%E5%BA%8F) |
|
|
|
- `PaddleOCR_json.exe`接收输入一个本地图片路径,以json格式字符串输出这张图片的识别结果,如此循环往复。具体见 [PaddleOCR-json 图片转文字程序](https://github.com/hiroi-sora/PaddleOCR-json#paddleocr-json-%E5%9B%BE%E7%89%87%E8%BD%AC%E6%96%87%E5%AD%97%E7%A8%8B%E5%BA%8F) 。 |
|
|
|
- 由于PaddleOCR-json只接受硬盘文件,所以读取剪贴板图片时,会先将其缓存到同目录下的`Umi-OCR_temp`。每次任务时清空前一次的缓存。 |
|
|
|
- 代码很丑,有空重构 ~~下次一定~~ |
|
|
|
- 使用`pyinstaller`打包,参数为 |
|
|
|
```pyinstaller -F -w -i icon/icon.ico -n "Umi-OCR 批量图片转文字" main.py``` |
|
|
|
|
|
|
@ -211,21 +238,25 @@ Github下载: |
|
|
|
- [x] 输出内容可选为markdown风格并嵌入图片路径。 |
|
|
|
- [x] 设置项能保存。 |
|
|
|
- [x] 自动打开输出文件or文件夹。 |
|
|
|
- [ ] 对图片重命名。 |
|
|
|
- [x] 识别剪贴板中的图片。 |
|
|
|
|
|
|
|
低(有)优(生)先(之)级(年): |
|
|
|
- [ ] 对图片重命名。 |
|
|
|
- [ ] 忽略区域能保存预设。 |
|
|
|
- [ ] 缩减离线OCR模块的体积。 |
|
|
|
|
|
|
|
## 更新日志 |
|
|
|
|
|
|
|
##### 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` 大更新 |
|
|
|
##### v1.2.0 `2022.4.8` |
|
|
|
- 可选生成Markdown风格的图文并茂的.md文件,作为索引使用有更佳的观感。当然也可以继续选择生成纯文本.txt文件。 |
|
|
|
- 修改设置面板的样式,改为滚动面板以容纳更多设置选项。 |
|
|
|
- 用户修改配置项后可自动保存。 |
|
|
@ -236,5 +267,5 @@ Github下载: |
|
|
|
##### v1.1.0 `2022.3.30` |
|
|
|
- 添加新功能:[忽略区域窗口] 以虚线框 展示识别出的文字块。 |
|
|
|
|
|
|
|
##### v1.0 `2022.3.28` |
|
|
|
##### v1.0.0 `2022.3.28` |
|
|
|
- “梦开始的地方” |