Umi-OCR 文字识别工具

news2024/11/18 7:51:11

免费开源的离线orc识别功能

git地址

感谢大佬的贡献

Umi-OCR

Umi-OCR 文字识别工具

Umi-OCR LICENSE forks stars forks 翻译状态

使用说明 • 下载地址 • 更新日志 • 提交Bug


免费,开源,可批量的离线OCR软件
适用于 Windows7 x64 、Linux x64

  • 免费:本项目所有代码开源,完全免费。
  • 方便:解压即用,离线运行,无需网络。
  • 高效:自带高效率的离线OCR引擎,内置多种语言识别库。
  • 灵活:支持命令行、HTTP接口等外部调用方式。
  • 功能:截图OCR / 批量OCR / PDF识别 / 二维码 / 公式识别

1-标题-1.png

1-标题-2.png

目录

  • 截图识别
    • 排版解析 - 识别不同排版,按正确顺序输出文字
  • 批量识别
    • 忽略区域 - 排除截图水印处的文字
  • 二维码 支持扫码或生成二维码图片
  • 文档识别 从PDF扫描件中提取文本,或转为双层可搜索PDF
  • 全局设置
  • 命令行调用
  • HTTP接口
  • 构建项目(Windows、Linux)

使用源码

开发者请务必阅读 构建项目 。

下载发行版

以下发布链接均长期维护,提供稳定版本的下载。

  • 蓝奏云 https://hiroi-sora.lanzoul.com/s/umi-ocr (国内推荐,免注册/无限速)
  • GitHub https://github.com/hiroi-sora/Umi-OCR/releases/latest
  • Source Forge https://sourceforge.net/projects/umi-ocr
•  Scoop Installer(点击展开)

Scoop 是一款Windows下的命令行安装程序,可方便地管理多个应用。您可以先安装 Scoop ,再使用以下指令安装 Umi-OCR

  • 添加 extras 桶:
scoop bucket add extras
  • (可选1)安装 Umi-OCR(自带 Rapid-OCR 引擎,兼容性好):
scoop install extras/umi-ocr
  • (可选2)安装 Umi-OCR(自带 Paddle-OCR 引擎,速度稍快):
scoop install extras/umi-ocr-paddle
  • 不要同时安装二者,快捷方式可能会被覆盖。但您可以额外导入 插件 ,随时切换不同OCR引擎。

开始使用

软件发布包下载为 .7z 压缩包或 .7z.exe 自解压包。自解压包可在没有安装压缩软件的电脑上,解压文件。

本软件无需安装。解压后,点击 Umi-OCR.exe 即可启动程序。

遇到任何问题,请提 Issue ,我会尽可能帮助你。

界面语言

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

如果需要手动切换语言,请参考下图,全局设置语言/Language

1-标题-1.png

标签页

Umi-OCR v2 由一系列灵活好用的标签页组成。您可按照自己的喜好,打开需要的标签页。

标签栏左上角可以切换窗口置顶。右上角能够锁定标签页,以防止日常使用中误触关闭标签页。

截图OCR

2-截图-1.png

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

  • 左侧的图片预览栏,可直接用鼠标划选复制。
  • 右侧的识别记录栏,可以编辑文字,允许划选多个记录复制。
  • 也支持在别处复制图片,粘贴到Umi-OCR进行识别。
  • 关于 公式识别 功能
文本后处理

2-截图-2.png

关于 OCR文本后处理 - 排版解析方案: 可以整理OCR结果的排版和顺序,使文本更适合阅读和使用。预设方案:

  • 多栏-按自然段换行:适合大部分情景,自动识别多栏布局,按自然段规则进行换行。
  • 多栏-总是换行:每段语句都进行换行。
  • 多栏-无换行:强制将所有语句合并到同一行。
  • 单栏-按自然段换行/总是换行/无换行:与上述类似,不过 不区分多栏布局。
  • 单栏-保留缩进:适用于解析代码截图,保留行首缩进和行中空格。
  • 不做处理:OCR引擎的原始输出,默认每段语句都进行换行。

上述方案,均能自动处理横排和竖排(从右到左)的排版。(竖排文字还需要OCR引擎本身支持)


批量OCR

3-批量-1.png

批量OCR:这一页用于批量导入本地图片进行识别。

  • 支持格式:jpg, jpe, jpeg, jfif, png, webp, bmp, tif, tiff
  • 保存识别结果的支持格式:txt, jsonl, md, csv(Excel)
  • 与截图OCR一样,支持文本后处理功能,整理OCR文本的排版和顺序。
  • 没有数量上限,可一次性导入几百张图片进行任务。
  • 支持任务完成后自动关机/待机。
  • 如果要识别像素超大的长图或大图,请调整:页面的设置→文字识别→限制图像边长→【调高数值】
  • 拥有特殊功能 忽略区域
忽略区域

3-批量-2.png

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

  • 在批量识别页的右栏设置中可进入忽略区域编辑器。
  • 如上方样例,图片顶部和右下角存在多个水印 / LOGO。如果批量识别这类图片,水印会对识别结果造成干扰。
  • 按住右键,绘制多个矩形框。这些区域内的文字将在任务中被忽略。
  • 请尽量将矩形框画得大一些,完全包裹住水印所有可能出现的位置。
  • 注意,只有处于忽略区域框内部的整个文本块(而不是单个字符)会被忽略。如下图所示,黄色边框的深色矩形是一个忽略区域。那么只有key_mouse才会被忽略。pubsub_connector.pypubsub_service.py 这两个文本块得以保留。

忽略区域范围示例.png


文档识别

文档识别

  • 支持格式:pdf, xps, epub, mobi, fb2, cbz
  • 对扫描件进行OCR,或提取原有文本。可输出为 双层可搜索PDF
  • 支持设定 忽略区域 ,可用于排除页眉页脚的文字。
  • 可设置任务完成后 自动关机/休眠

二维码

4-二维码-1.png

扫码

  • 截图/粘贴/拖入本地图片,读取其中的二维码、条形码。
  • 支持一图多码。
  • 支持19种协议,如下:

Aztec,Codabar,Code128,Code39,Code93,DataBar,DataBarExpanded,DataMatrix,EAN13,EAN8,ITF,LinearCodes,MatrixCodes,MaxiCode,MicroQRCode,PDF417,QRCode,UPCA,UPCE

4-二维码-2.png

生成码

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

全局设置

5-全局设置-1.png

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

  • 一键添加快捷方式或设置开机自启。
  • 更改界面语言。Umi支持繁中、英语、日语等语言。
  • 切换界面主题。Umi拥有多个亮/暗主题。
  • 调整界面文字的大小字体
  • 切换OCR插件。
  • 渲染器:软件界面默认支持显卡加速渲染。如果在你的机器上出现截屏闪烁、UI错位的情况,请调整界面和外观渲染器 ,尝试切换到不同渲染方案,或关闭硬件加速。

调用接口:

  • 命令行手册
  • HTTP接口手册

软件本地化翻译:

感谢以下译者,为 Umi-OCR 贡献了本地化翻译工作:(排名不分先后)

译者贡献语言
bobEnglish, 繁體中文, 日本語
Qingzheng GaoEnglish, 繁體中文
Weng, Chia-LingEnglish, 繁體中文
linzowEnglish, 繁體中文
Eric GuoEnglish
steven0081English
Marcos iEnglish
plum7x繁體中文
hugoalh繁體中文
ドコモ光日本語
杨鹏Português

如果有信息错误或人员缺漏,请在 这个讨论 中回复。

本项目使用在线平台 Weblate: Umi-OCR 进行本地化翻译协作。我们欢迎任何用户参与翻译工作,您可校对、补充现有语言,或添加新语言。


关于项目结构

各仓库:

  • 主仓库 👈
  • 插件库
  • Windows 运行库
  • Linux 运行库

工程结构:

** 后缀表示本仓库(主仓库)包含的内容。

Umi-OCR
├─ Umi-OCR.exe
├─ umi-ocr.sh
└─ UmiOCR-data
   ├─ main.py **
   ├─ version.py **
   ├─ qt_res **
   │  └─ 项目qt资源,包括图标和qml源码
   ├─ py_src **
   │  └─ 项目python源码
   ├─ plugins
   │  └─ 插件
   └─ i18n **
      └─ 翻译文件

支持的离线OCR引擎:

  • PaddleOCR-json
  • RapidOCR-json

运行环境框架:

  • PyStand 定制版

构建项目

第零步:(可选)fork本项目

第一步:下载代码

请参考 更新日志 开头的说明。

后续步骤:

请跳转下述仓库,完成对应平台的开发/运行环境部署。

  • Windows
  • Linux

赞助

Umi-OCR 项目主要由作者 hiroi-sora 用业余时间在开发和维护。如果您喜欢这款软件,欢迎赞助。

  • 国内用户可通过 爱发电 赞助作者。

更新日志

开发计划

已完成的工作
  • 标签页框架。
  • OCR API控制器。
  • OCR 任务控制器。
  • 主题管理器,支持切换浅色/深色主题主题。
  • 实现 批量OCR
  • 实现 截图OCR
  • 快捷键机制。
  • 系统托盘菜单。
  • 文本块后处理(排版优化)。
  • 引擎内存清理。
  • 软件界面多国语言。
  • 命令行模式。
  • Win7兼容。
  • Excel(csv)输出格式。
  • Esc中断截图操作
  • 外置主题文件
  • 字体切换
  • 加载动画
  • 忽略区域。
  • 二维码识别。
  • 批量识别页面的图片预览窗口。
  • PDF识别。
  • 调用本地图片浏览器打开图片。 #335
  • 重复上一次截图。 #357
  • 修Bug:文档识别在Windows7系统的兼容性问题。
  • HTTP/命令行接口添加二维码识别/生成功能。 (#423)
  • 二维码接口的文档。
正在进行的工作
  • Linux 平台移植。
  • HTTP 文档识别接口。
远期计划
展开

这些是预想中的功能,在开发初期已预留好接口,将在远期慢慢实现。

但开发途中受限于实际情况,可能更改功能设计、新增及取消功能。

  • 重构底层插件机制。

  • 在线 OCR API 插件。

  • 独立的数学公式识别插件。

  • “数学公式”标签页,提供独立的数学公式识别/Latex渲染。

  • 检查更新机制。

  • 排版解析之外的文本后处理模块(如保留数字、半全角字符转换、文本纠错)。

  • 关键接口函数添加事件触发方式。

  • 基于GPU的离线OCR。

  • 图片翻译

  • 离线翻译。

  • 固定区域识别。

  • 识别表格图片,输出为Excel。

  • 历史记录系统。

  • 兼容 MacOS / Ubuntu 等平台。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2066201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 程序寻找通过 2 个点的线(Program to find line passing through 2 Points)

在数学和计算机科学中,找到通过两个点的线的方程是一个基础问题。假设我们有两个点 P1​(x1​,y1​) 和 P2​(x2​,y2​),我们想要找到通过这两个点的直线方程。 直线方程的形式 直线的方程通常表示为 ymxb,其中 m 是斜率,b 是 …

PMP核心知识点—之项目管理基础

知识点1:项目的临时性 项目的临时性是指项目有明确的开始时间和结束时间,但并不能表示项目的周期短,项目的周期从几个月、几年到几十年都有。 知识点2:项目的独特性 独特的产品、服务或成果。 知识点3:项目创造商业价值…

ARCGIS 纸质小班XY坐标转电子要素面

1、准备好excel 坐标 小班号、点位链接的顺序、X、Y 4个缺一不可,需要注意的是,点位顺序的格式最好为数字,若为其他格式可能会出现排序混乱,会以1-9 11-19等字符串的排序连接。 excel文件转为csv才能识别,CSV只能保留第…

错过了游科的黑神话?别急,国内这些公司也在招聘中,都是做3A游戏的,速来!

近日,由游戏科学工作室打造的3A游戏——《黑神话:悟空》,不仅在国内引起了前所未有的关注,在全球范围内也引发了巨大轰动。 游戏玩家们举国欢庆的同时,无数游戏从业者也点燃了对国产3A游戏的憧憬与期待! 据说游科在某…

Java 通用代码生成器光,电音之王尝鲜版八,完善数据库自动反射功能和多对多候选功能

Java 通用代码生成器光,电音之王尝鲜版八,完善数据库自动反射功能和多对多候选功能 Java 通用代码生成器光,电音之王尝鲜版八,此版本完善了数据库自动反射功能。完善了多对多候选功能。尝鲜版八在以前的版本上修复了大量缺陷和功…

PDF文件切割,无大小限制

前言 公司让学习一个东西,让写一个学习总结,我想这不是AI的拿手好戏,直接把近100M的PDF喂给他,然后他说吃不下,太大了 小事,那么多在线PDF工具网站,分分钟拆开,然后找了半天也都是…

Java开发笔记-小程序微信支付接入

步骤: 1.注册微信商户,开通小程序支付业务,获得必要接入参数。(Certificate、PrivateKey、merchantId、SerialNumbe、apiV3Key) 2.微信商户号关联小程序(需目标小程序审核) 3.java使用接入参数发起下单,获取下单参数。 4.小程…

新手设计师看一看!2024年PDF转CAD软件TOP4

在现在这个啥都能数字化的时代,文件格式得来回换已经成了我们工作的日常,特别是把PDF转成CAD,对工程师、设计师还有搞建筑的人来说,这事儿特别重要。技术越发展,市面上就出现了好些又快又方便的工具。今天,…

AI+新质生产力,化敌为友的新未来

“新质生产力”是今年的“高频词”。如何将“新质生产力”落到实处,业内纷纷瞄准了同一个关键词:“人工智能”,特别是 “人工智能” ,这个小小的""号代表着无限的可能性。人工智能正在成为现代社会的基础设施&#xff0…

便签内容转移新设备攻略

在桌面使用便签软件记录工作和生活中的点点滴滴,已成为许多人的习惯。它不仅能帮助我们捕捉灵感、记录待办事项,还能提醒我们重要的日程安排。然而,随着设备的更新换代或工作地点的变更,我们有时需要将便签内容从一个设备转移到另…

多门店多端平台系统小程序源码

🔥【健身新纪元】多门店多端分开健身系统,打造你的个性化健身体验🌟 🏋️‍♀️ 一、告别单一,拥抱多元化健身时代 你还在为找不到合适的健身房而烦恼吗?或是想要随时随地开启健身模式,却受限…

聚水潭ERP集成用友NC(用友NC主供应链)

源系统成集云目标系统 用友NC介绍 用友NC是用友NC产品的全新系列,是面向集团企业的世界级高端管理软件。它以“全球化集团管控、行业化解决方案、全程化电子商务、平台化应用集成”的管理业务理念而设计,采用J2EE架构和先进开放的集团级开发平台UAP&am…

UDS 诊断 - ReadDataByPeriodicIdentifier(按周期性标识符读取数据)(0x2A)服务

UDS 诊断服务系列文章目录 诊断和通信管理功能单元 UDS 诊断 - DiagnosticSessionControl(诊断会话控制)(0x10)服务 UDS 诊断 - ECUReset(ECU重置)(0x11)服务 UDS 诊断 - SecurityA…

5个网络监控神器,别说老网工藏私不发给你

前言 是2022年度的精选网络工具安利贴,你都看了没? 现在啊,很多企业公司都有不少的网络硬件,而这些网络硬件设备根据不同的功能,会分散在不同的物理位置上。 可能有些网络硬件设备是集中式管理,有些只能…

2024年掏耳勺买什么样的好?四款优良产品推荐,不可错过

21世纪的到来,全民生活品质得到了飞跃进步,大家逐渐开始关注耳道的健康清洁。传统挖耳勺因直径大、材质硬、无法看清耳道等因素,往往很难满足大部分人群的清洁需求,甚至带来不可逆转的伤害。可视挖耳勺的出现,具备可视…

C++第四十弹---从零开始:模拟实现C++中的unordered_set与unordered_map

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1 哈希概念 2 哈希冲突 3 哈希函数 4 哈希冲突解决 4.1 闭散列 4.1.1. 线性探测 4.1.2. 二次探测 4.2 开散列 4.2.1. 开散列概念 4.2.2…

安卓逆向百例十-币coin

typora-root-url: ./pic安卓逆向百例十-币coin 现在售价依旧是99¥,计划更新100案例,平均一个案例1块钱,要什么自行车! 案例起源: 有位老哥 经过炒币失败后想做一个这种查询接口的app,但是苦于他的资金比…

windows系统搭建WSUS更新服务问题整理

1、连接微软更新服务器时,总是连接失败,采取了指定TLS1.2连接的方法,还是连接失败。 解决方法:当时服务器的操作系统为windows server 2012 R2,将操作系统换成windows server 2016可以解决这个问题。 2、客户端怎么配…

Linux发送邮件:如何配置SMTP服务器发信?

linux发送邮件至多个收件人的方法?如何用Linux命令? 在Linux系统中,邮件发送是一个常见且重要的功能,无论是用于系统监控通知还是日常通信。AokSend将详细介绍如何在Linux环境下配置SMTP服务器,以确保您的邮件发送既高…

探索RAG与Multi-Agent的结合:解决复杂任务的新方法

最近帮企业定制了一个langgraphrag的项目,跟大家简单介绍一下设计架构和具体的应用。如果大家有兴趣,我也可以出一期视频,给大家详细介绍一下。我们会一步步探讨如何构建一个可以控的Agent,以执行RAG任务,并最终展示一…