图片转文字

 
 
 
Owner avatarUmi-OCRPublic
 
 

hiroi-sora/Umi-OCR

 main 
 
Go to fileAdd fileCode

Umi-OCR

Umi-OCR 文字识别工具

Umi-OCR LICENSE forks stars forks

免费,开源,可批量的离线OCR软件
适用于 Windows7 x64 及以上

  • 免费:本项目所有代码开源,完全免费。
  • 方便:解压即用,离线运行,无需网络。
  • 批量:可批量导入处理图片,结果保存到本地 txt / md / jsonl 多种格式文件。也可以即时截屏识别。
  • 高效:采用 PaddleOCR-json C++ 识别引擎。只要电脑性能足够,通常比在线OCR服务更快。
  • 精准:默认使用PPOCR-v3模型库。除了能准确辨认常规文字,对手写、方向不正、杂乱背景等情景也有不错的识别率。可设置忽略区域排除水印、设置文块后处理合并排版段落,得到规整的文本。

说明目录

下载

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 批量图片转文字软件 ◁

Umi-CUT 批量图片去黑边/裁剪/压缩软件

About

OCR图片转文字识别软件,完全离线。截屏/批量导入图片,支持多国语言、合并段落、竖排文字。可排除水印区域,提取干净的文本。基于 PaddleOCR 。

Topics

Resources

License

Stars

Watchers

Forks

Releases 18

Umi-OCR 文字识别工具 v1.3.5Latest
on Jun 20

Packages

No packages published

Languages

 

Footer

© 2023 GitHub, Inc.
 
Repository search results
posted @ 2023-08-30 21:01  freedragon  阅读(50)  评论(0编辑  收藏  举报