在人工智能兴起的当下,AI正以不可思议的速度重塑着每一个行业。在笔者看来,AI处理能力强弱的最核心的评判指标终将是 数据 ,先是数据质量,再是数据规模。两者任何一个的差距都将是能力强弱的分水岭。那么接踵而至数据从哪里来?我们又将要如何提取数据?...本文的这款软件将会重点帮我们解决如何从图片、二维码、PDF等介质中提取文件内容的问题,相信大家读完本文后会有一定的收获。
另外此处附上一篇之前整理的OCR相关的文章供大家参考对比:OCRmyPDF—可智能识别PDF文本和图片信息的工具
介绍
Umi-OCR 是一个免费、开源的可批量处理的离线OCR软件。它基于paddle,适用于 Windows7 x64 及以上版本。它支持截图OCR / 批量OCR / 二维码 / 公式识别(测试中) / PDF识别(测试中)等多种形式内容的识别。还支持命令行与http接口等调用方式。另外,它还支持批量OCR处理。
特点
Umi-OCR
1. 免费 :所有代码开源且完全免费。 2. 方便 :解压即用,离线运行,无需网络。 3. 高效 :自带高效率离线OCR引擎。 4. 灵活 :支持命令行、HTTP接口等多种调用方式。 5. 功能 :截图OCR / 批量OCR / 二维码 / 公式识别(测试中) / PDF识别(测试中)
功能目录
• 截图识别 •段落合并 - 优化不同文字排版
• 批量识别 •忽略区域 - 排除截图水印处的文字
•二维码 - 支持扫码或生成二维码图片 •文档识别 - 从PDF扫描件中提取文本,或转为双层可搜索PDF
• 全局设置
- 添加更多PP-OCR支持的语言模型库! • 命令行调用 • HTTP接口 • 构建项目
使用源码打包
开发者可以使用源码来构建打包,但在使用源码前,务必阅读并遵循构建项目 的相关指南来进行。
构建项目的指南:https://github.com/hiroi-sora/Umi-OCR?tab=readme-ov-file#%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE
直接下载包使用
1. 下载地址:
可以在GitHub[1]
和蓝奏云 [2] 或者Source Forge [3] 上下载包。 2. 使 用方式:
软件发布包下载为 .7z 或 .7z.exe,自解压包可在没有安装压缩软件的电脑上,解压文件。解压后,点击 Umi-OCR.exe 即可启动程序,无需安装。如遇任何问题,可以在github上提issue。
多种语言支持
Umi-OCR 支持多国语言。在第一次打开软件时,将会根据电脑的系统设置,自动切换语言。
目前中英文都是支持的,如果需要手动切换语言,请参考下图, 全局设置
→ 语言/Language
。
界面语言设置
界面设计——标签页
Umi-OCR v2 界面设计风格像浏览器一样由一系列灵活好用的标签页 组成。您可按照自己的喜好,打开需要的标签页,在每个标签页上进行特定的功能操作。
窗口的设计很人性化,在标签栏左上角可以切换窗口置顶 。右上角能够锁定标签页 ,以防止日常使用中误触关闭标签页后导致数据丢失。
截图OCR识别示例
截图OCR
截图OCR功能 :打开这一页后,就可以用快捷键唤起截图,从而识别图中的文字。
使用快捷键唤起截图,识别图中的文字。
-
左侧图片预览栏可直接用鼠标划选复制(有点类似于微信图片上的文字识别复制功能)。
-
右侧识别记录栏可编辑文字,允许划选多个记录复制。
识别后段落合并
段落合并
关于OCR文本后处理 - 段落合并 :可以帮助整理OCR结果的排版和顺序,使文本更适合阅读和使用。
预设方案选项:
•单行 :合并同一行的文字,适合绝大部分情景。 •多行-自然段 :智能识别、合并属于同一段落的文字,适合绝大部分情景,如上图所示。 •多行-代码段 :尽可能还原原始排版的缩进与空格。适合识别代码片段,或需要保留空格的场景。 •竖排 :适合竖排排版。需要与同样支持竖排识别的模型库配合使用。
批量OCR识别
批量OCR
批量OCR :这一页支持批量导入本地图片并识别。
- 识别内容可以保存为 txt / jsonl / md / csv(Excel) 等多种格式。
- 支持
文本后处理
技术,能识别属于同一自然段的文字,并将其合并。还支持代码段、竖排文本等多种处理方案。 - 没有数量上限,可一次性导入几百张图片进行任务(前提是机器性能跟得上,不然会比较慢)。
- 支持任务完成后自动关机/待机。
识别时忽略部分不需要识别的区域
忽略区域
关于 OCR文本后处理 - 忽略区域 :批量OCR中的一种特殊功能,适用于排除图片中的不想要的文字。
- 在批量识别页的右栏设置中可进入忽略区域编辑器。
- 如上方样例,图片顶部和右下角存在多个水印 / LOGO。如果批量识别这类图片,水印会对识别结果造成干扰。
- 按住右键,绘制多个矩形框。这些区域内的文字将在任务中被忽略。
- 请尽量将矩形框画得大一些,完全包裹住水印所有可能出现的位置。
二维码识别与生成
二维码
扫码识别 :
- 可截图/粘贴/拖入本地图片,读取其中的二维码、条形码。
- 支持一图多码。
- 支持19种协议,如下:
Aztec
,Codabar
,Code128
,Code39
,Code93
,DataBar
,DataBarExpanded
,DataMatrix
,EAN13
,EAN8,ITF
,LinearCodes
,MatrixCodes
,MaxiCode
,MicroQRCode
,PDF417
,QRCode
,UPCA
,UPCE
,
生成二维码 :
- 输入文本,生成二维码图片。
- 支持19种协议和纠错等级 等参数。
文档识别
仅在 最新测试版 中支持。
文档识别 :
- 支持导入
pdf
,xps
,epub
,mobi
,fb2
,cbz
格式的文件。 - 支持识别扫描件,转为文本文件(支持所有格式文档)或可搜索双层PDF (仅支持原文件为pdf格式)。
- 支持设定忽略区域,可排除页眉页脚的文字。
全局设置参数
全局设置
全局设置 :在这里可以调整软件的全局参数。常用功能如下:
- 一键添加快捷方式或设置开机自启。
- 更改界面语言 。Umi支持繁中、英 语、日语等语言。
- 切换界面主题 。Umi拥有多个亮/暗主题。
- 调整界面文字的大小 和字体 。
- 切换OCR插件。
6. 渲染器 :软件界面默认支持显卡加速渲染。如果在你的机器上出现截屏闪烁、UI错位的情况,请调整
界面和外观
→渲染器
,尝试切换到不同渲染方案,或关闭硬件加速
接口调用支持
Umi-OCR可以提供图片识别server类型的服务,一方面它的exe文件可以作为主程序入口,提供命令行模式下的调用。另一方面,它可以对外提供http服务,可以用http接口的形式来访问。
命令行接口
•命令行手册 :请参阅项目中的 README_CLI.md
文件,其中包含了关于如何使用命令行接口进行OCR操作的详细说明。
文档地址:https://github.com/hiroi-sora/Umi-OCR/blob/main/docs/README\_CLI.md
HTTP接口
•HTTP接口手册 :具体使用方法请查看 README_HTTP.md
文件,该文件提供了HTTP接口的详细文档,包括API调用方式、参数说明等。
文档地址:https://github.com/hiroi-sora/Umi-OCR/blob/main/docs/README\_HTTP.md
协助软件界面翻译
•参与翻译 :请访问 dev-tools/i18n
目录,该目录包含了软件界面翻译的相关资源和说明。
文档地址:https://github.com/hiroi-sora/Umi-OCR/blob/main/dev-tools/i18n
后续开发计划
已完成的工作
在之前的版本中,我们已经完成了多项关键功能的开发,包括基础的OCR识别、多语言支持、用户界面优化等。
近期开发计划
在接下来的v2版本的头几个更新中,我们计划逐步推出以下新功能:
•PDF识别 :将支持从PDF文件中识别文本,包括从扫描的PDF文档中提取文字。 •图片翻译 :实现OCR后直接翻译图片中的文本,提高用户处理外语材料的效率。
远期计划
随着项目的发展,我们也在考虑包括以下功能和改进在内的远期计划:
•扩展更多语言模型 :增加对更多语言的支持,特别是少数语言和特殊文字。•增强AI模型的准确性和速度 :通过优化算法和引入更高效的模型,提高识别的准确性和处理速度。•用户界面和体验改进 :根据用户反馈,继续优化界面设计,使软件更加易用。•更多接口和插件支持 :为开发者提供更多接口,以便于Umi-OCR可以更容易地集成到其他应用中。总结
Umi-OCR是一款相对来说比较好用的OCR软件,一方面它开箱即用,有着良好的交互设计,不需要太多的理解成本;另一方面,它支持多种形式的内容识别,用户用一款软件便可解决多种形式的问题。更为重要的是,它自带高效率离线OCR引擎,且支持命令行和http调用,为很多应用场景提供了使用的可能。其他
本文由山行整理自:https://github.com/hiroi-sora/Umi-OCR,主要目的是向大家科普更多AI/智能科学技术,如果对您有帮助,请帮忙点赞、收藏、关注,谢谢~
References
[1]
GitHub: https://github.com/hiroi-sora/Umi-OCR/releases/latest
[2]
蓝奏云: https://hiroi-sora.lanzoul.com/s/umi-ocr
[3]
Source Forge: https://sourceforge.net/projects/umi-ocr