Umi-OCR一款火遍全网的智能文字识别工具

前言

在人工智能兴起的当下,AI正以不可思议的速度重塑着每一个行业。在笔者看来,AI处理能力强弱的最核心的评判指标终将是数据,先是数据质量,再是数据规模。两者任何一个的差距都将是能力强弱的分水岭。那么接踵而至数据从哪里来?我们又将要如何提取数据?...本文的这款软件将会重点帮我们解决如何从图片、二维码、PDF等介质中提取文件内容的问题,相信大家读完本文后会有一定的收获。

介绍

Umi-OCR 是一个免费、开源的可批量处理的离线OCR软件。它基于paddle,适用于 Windows7 x64 及以上版本。它支持截图OCR / 批量OCR / 二维码 / 公式识别(测试中) / PDF识别(测试中)等多种形式内容的识别。还支持命令行与http接口等调用方式。另外,它还支持批量OCR处理。

特点

  1. 免费:所有代码开源且完全免费。
  2. 方便:解压即用,离线运行,无需网络。
  3. 高效:自带高效率离线OCR引擎。
  4. 灵活:支持命令行、HTTP接口等多种调用方式。
  5. 功能:截图OCR / 批量OCR / 二维码 / 公式识别(测试中) / PDF识别(测试中)

image.png

image.png

功能目录

  1. 截图识别
  2. 段落合并 - 优化不同文字排版
  3. 批量识别
  4. 忽略区域 - 排除截图水印处的文字
  5. 二维码 - 支持扫码或生成二维码图片
  6. 文档识别- 从PDF扫描件中提取文本,或转为双层可搜索PDF
  7. 全局设置 - 添加更多PP-OCR支持的语言模型库!
  8. 命令行调用
  9. HTTP接口
  10. 构建项目

使用源码打包

开发者可以使用源码来构建打包,但在使用源码前,务必阅读并遵循构建项目的相关指南来进行。

构建项目的指南: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]上下载包。

  1. 使用方式:

软件发布包下载为 .7z 或 .7z.exe,自解压包可在没有安装压缩软件的电脑上,解压文件。解压后,点击 Umi-OCR.exe 即可启动程序,无需安装。如遇任何问题,可以在github上提issue。

多种语言支持

Umi-OCR 支持多国语言。在第一次打开软件时,将会根据电脑的系统设置,自动切换语言。

目前中英文都是支持的,如果需要手动切换语言,请参考下图,全局设置→语言/Language 。

image.png

界面设计——标签页

Umi-OCR v2 界面设计风格像浏览器一样由一系列灵活好用的标签页组成。您可按照自己的喜好,打开需要的标签页,在每个标签页上进行特定的功能操作。

窗口的设计很人性化,在标签栏左上角可以切换窗口置顶。右上角能够锁定标签页,以防止日常使用中误触关闭标签页后导致数据丢失。

截图OCR识别示例

image.png

截图OCR功能:打开这一页后,就可以用快捷键唤起截图,从而识别图中的文字。

  1. 使用快捷键唤起截图,识别图中的文字。

  2. 左侧图片预览栏可直接用鼠标划选复制(有点类似于微信图片上的文字识别复制功能)。

  3. 右侧识别记录栏可编辑文字,允许划选多个记录复制。

识别后段落合并

image.png

关于OCR文本后处理 - 段落合并:可以帮助整理OCR结果的排版和顺序,使文本更适合阅读和使用。

预设方案选项:

•单行:合并同一行的文字,适合绝大部分情景。 •多行-自然段:智能识别、合并属于同一段落的文字,适合绝大部分情景,如上图所示。 •多行-代码段:尽可能还原原始排版的缩进与空格。适合识别代码片段,或需要保留空格的场景。 •竖排:适合竖排排版。需要与同样支持竖排识别的模型库配合使用。

批量OCR识别

image.png

批量OCR:这一页支持批量导入本地图片并识别。

  1. 识别内容可以保存为 txt / jsonl / md / csv(Excel) 等多种格式。
  2. 支持文本后处理技术,能识别属于同一自然段的文字,并将其合并。还支持代码段、竖排文本等多种处理方案。
  3. 没有数量上限,可一次性导入几百张图片进行任务(前提是机器性能跟得上,不然会比较慢)。
  4. 支持任务完成后自动关机/待机。

识别时忽略部分不需要识别的区域

image.png

关于 OCR文本后处理 - 忽略区域:批量OCR中的一种特殊功能,适用于排除图片中的不想要的文字。

  1. 在批量识别页的右栏设置中可进入忽略区域编辑器。
  2. 如上方样例,图片顶部和右下角存在多个水印 / LOGO。如果批量识别这类图片,水印会对识别结果造成干扰。
  3. 按住右键,绘制多个矩形框。这些区域内的文字将在任务中被忽略。
  4. 请尽量将矩形框画得大一些,完全包裹住水印所有可能出现的位置。

二维码识别与生成

image.png

扫码识别:

  1. 可截图/粘贴/拖入本地图片,读取其中的二维码、条形码。
  2. 支持一图多码。
  3. 支持19种协议,如下:
Aztec,Codabar,Code128,Code39,Code93,DataBar,DataBarExpanded,DataMatrix,EAN13,EAN8,ITF,LinearCodes,MatrixCodes,MaxiCode,MicroQRCode,PDF417,QRCode,UPCA,UPCE,

image.png

生成二维码:

  1. 输入文本,生成二维码图片。
  2. 支持19种协议和纠错等级等参数。

文档识别

image.png

仅在 最新测试版 中支持。

文档识别:

  1. 支持导入pdf, xps, epub, mobi, fb2,cbz格式的文件。
  2. 支持识别扫描件,转为文本文件(支持所有格式文档)或可搜索双层PDF(仅支持原文件为pdf格式)。
  3. 支持设定忽略区域,可排除页眉页脚的文字。

全局设置参数

image.png

全局设置:在这里可以调整软件的全局参数。常用功能如下:

  1. 一键添加快捷方式或设置开机自启。
  2. 更改界面语言。Umi支持繁中、英 语、日语等语言。
  3. 切换界面主题。Umi拥有多个亮/暗主题。
  4. 调整界面文字的大小和字体。
  5. 切换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

总结

Umi-OCR是一款相对来说比较好用的OCR软件,一方面它开箱即用,有着良好的交互设计,不需要太多的理解成本;另一方面,它支持多种形式的内容识别,用户用一款软件便可解决多种形式的问题。更为重要的是,它自带高效率离线OCR引擎,且支持命令行和http调用,为很多应用场景提供了使用的可能。