免费开源图片转文字识别软件:Umi-OCR

news2024/11/20 4:30:51

目录

1.介绍

2.项目亮点

3.项目功能(已实现)

4.功能体验

5.项目集成(调用接口)

6.项目地址


1.介绍

        Umi-OCR:免费,开源,可批量的离线OCR软件,目前适用于 Windows7 x64 及以上。

        这个项目基于基于 PaddleOCR,支持截图识别、批量导入识别、个性化识别等功能。

        整个项目由 python 语言编写,win7系统的小伙伴大概率是用不了的。推荐 Win10 x64 及以上版本。

2.项目亮点

免费

本项目所有代码开源,完全免费。

方便

解压即用,离线运行,无需网络。

高效

自带高效率的离线OCR引擎,内置多种语言识别库。

灵活

支持命令行、HTTP接口等外部调用方式。

功能

截图OCR / 批量OCR / PDF识别 / 二维码 / 公式识别(测试中)

3.项目功能(已实现)

  • 标签页框架。

  • OCR API控制器。

  • OCR 任务控制器。

  • 主题管理器,支持切换浅色/深色主题主题。

  • 实现 批量OCR

  • 实现 截图OCR

  • 快捷键机制。

  • 系统托盘菜单。

  • 文本块后处理(排版优化)。

  • 引擎内存清理。

  • 软件界面多国语言。

  • 命令行模式。

  • Win7兼容。

  • Excel(csv)输出格式。

  • Esc中断截图操作

  • 外置主题文件

  • 字体切换

  • 加载动画

  • 忽略区域。

  • 二维码识别。

  • 批量识别页面的图片预览窗口。

  • PDF识别。

  • 调用本地图片浏览器打开图片。 #335

  • 重复上一次截图。 #357

  • 修Bug:文档识别在Windows7系统的兼容性问题。

  • HTTP/命令行接口添加二维码识别/生成功能。(#423)

  • 二维码接口的文档。

4.功能体验

界面语言

直接在releases中选择合适的版本,下载解压即可。

可以看到,项目还配套了英、日、韩等多个国家的语言识别库,方便国外的这些用户使用。

截图识别OCR

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

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

文本后处理

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

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

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

批量OCR

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

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

文档识别

文档识别

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

二维码

扫码

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

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

生成码

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

全局设置

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

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

5.项目集成(调用接口)

基础说明

如上图,必须允许HTTP服务才能使用HTTP接口(默认开启)。如果需要允许被局域网访问,请将主机切换到任何可用地址

在全局设置页中勾选高级才会显示。

1) 图片OCR:Base64 识别接口

传入一个base64编码的图片,返回OCR识别结果。

URL:/api/ocr

例:http://127.0.0.1:1224/api/ocr(实际端口请在全局设置中查看)

2) 图片OCR:参数查询接口

返回当前需要提供哪些options参数。

URL:/api/ocr/get_options

例:http://127.0.0.1:1224/api/ocr/get_options

3) 二维码:Base64 识别接口

传入一个base64编码的图片,返回二维码识别结果。

URL:/api/qrcode

例:http://127.0.0.1:1224/api/qrcode

4) 二维码:从文本生成图片

传入文本,根据文本生成二维码图片,返回图片base64。

URL:/api/qrcode (与二维码识别接口一致,只是参数不同)

例:http://127.0.0.1:1224/api/qrcode

6.项目地址

【github】:https://github.com/hiroi-sora/Umi-OCR

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

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

相关文章

React@16.x(20)渲染流程-首次渲染

目录 1,渲染的前置知识点1.1,React 元素1.2,React 节点1.3,节点类型1.4,真实DOM 2,首次渲染2.1,根据参数创建节点2.2,不同节点,有不同处理2.3,生成虚拟DOM树2…

Ollama+FastAPI+React手把手构建自己的本地大模型,支持SSE

最近大家都在玩LLM,我也凑了热闹,简单实现了一个本地LLM应用,分享给大家,百分百可以用哦~^ - ^ 先介绍下我使用的三种工具: Ollama:一个免费的开源框架,可以让大模型很容易的运行在…

JVMの垃圾回收

在上一篇中,介绍了JVM组件中的运行时数据区域,这一篇主要介绍垃圾回收器 JVM架构图: 1、垃圾回收概述 在第一篇中介绍JVM特点时,有提到过内存管理,即Java语言相对于C,C进行的优化,可以在适当的…

【AI大模型】Transformers大模型库(三):特殊标记(special tokens)

目录​​​​​​​ 一、引言 二、特殊标记(special tokens) 2.1 概述 2.2 主要功能 2.3 代码示例 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服…

设计模式之过滤器模式FilterPattern(十)

一、过滤器模式 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模…

Python爬虫之简单学习BeautifulSoup库,学习获取的对象常用方法,实战豆瓣Top250

BeautifulSoup是一个非常流行的Python库,广泛应用于网络爬虫开发中,用于解析HTML和XML文档,以便于从中提取所需数据。它是进行网页内容抓取和数据挖掘的强大工具。 功能特性 易于使用: 提供简洁的API,使得即使是对网页结构不熟悉…

QtCharts使用

1.基础配置 1.QGraphicsView提升为QChartView#include <QtCharts> QT_CHARTS_USE_NAMESPACE #include "ui_widget.h"2. QT charts 2.柱状图 2.1QBarSeries //1.创建Qchart对象QChart *chart new QChart();chart->setTitle("直方图演示");//设…

【机器学习300问】107、自然语言处理(NLP)领域有哪些子任务?

自然语言处理&#xff08;NLP&#xff09;是计算机科学、人工智能和语言学领域的一个交叉学科&#xff0c;致力于让计算机能够理解、解析、生成和与人类的自然语言进行互动。自然语言指的是人们日常交流使用的语言&#xff0c;如英语、汉语等&#xff0c;与计算机编程语言相对。…

MySQL中:cmd下输入命令mysql -uroot -p 连接数据库错误

目录 问题cmd下输入命令mysql -uroot -p错误 待续、更新中 问题 cmd下输入命令mysql -uroot -p错误 解决 配置环境变量&#xff1a;高级系统设置——环境变量——系统变量——path编辑——新建——MySQL.exe文件路径&#xff08;如下图所示&#xff09; phpstudy2018软件下&am…

《微服务大揭秘:SpringBoot与SpringCloud的魔法组合》

加入我们的探险队伍&#xff0c;一起深入SpringBoot与SpringCloud构建的微服务世界。以轻松幽默的笔触&#xff0c;带你一步步揭开微服务架构的神秘面纱&#xff0c;从服务发现的智能地图Eureka&#xff0c;到API网关Zuul的城市门卫&#xff0c;每一个环节都充满了惊喜。不仅如…

北航数据结构与程序设计第四次作业选填题复习

首先都是线性的&#xff0c;线性包括顺序和链式&#xff0c;栈和队都可以用两种方式实现。栈只能存于栈顶取于栈顶&#xff0c;队列先进先出&#xff0c;因此存取点是固定的。 函数栈帧创建原理 画图即可。 A.显然不行&#xff0c;5如果第一个出来说明5是最后一个进的&#xf…

《2024年网络安全预测:未来规划深度洞察》

2024 年打击网络对手的计划。 阅读报告&#xff0c;了解我们的专家对 2024 年网络安全行业的预测&#xff0c;包括&#xff1a; 攻击者将人工智能融入其行动中&#xff0c;防御者利用它来加强检测和响应 民族国家继续开展网络行动以实现其地缘政治目标 攻击者继续利用零日漏洞…

nginx代理vue项目路由跳转刷新

常规代理 在我们日常开发中&#xff0c;前端部署到服务器&#xff0c;需要用到nginx部署&#xff0c;简单代理如下&#xff1a; #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid…

node mysql的增删改查基础

学习koa时&#xff0c;不选择mongodb&#xff0c;而是MySQL&#xff0c;虽然node对mongodb更亲和&#xff0c;但是我感觉MySQL的键值对的储存结构更正规 1.首选确认你的数据库有个库。有个表,我的如下 2.配置 let mySqlConfig{host:localhost,user:root,password:123456,data…

单列集合--List

方法演示&#xff1a; package exercise;import java.util.ArrayList; import java.util.List;public class ListDemo1 {public static void main(String[] args) {List<String> list new ArrayList<>();list.add("hello");list.add("world"…

【MATLAB源码-第222期】基于matlab的改进蚁群算法三维栅格地图路径规划,加入精英蚁群策略。包括起点终点,障碍物,着火点,楼梯。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蚁群算法&#xff08;Ant Colony Optimization&#xff0c;ACO&#xff09;是一种通过模拟蚂蚁觅食行为的启发式优化算法。它由意大利学者Marco Dorigo在20世纪90年代初提出&#xff0c;最初用于解决旅行商问题&#xff08;T…

LabVIEW源程序安全性保护综合方案

LabVIEW源程序安全性保护综合方案 一、硬件加密保护方案 选择和安装硬件设备 选择加密狗和TPM设备&#xff1a;选择Sentinel HASP加密狗和支持TPM&#xff08;可信平台模块&#xff09;的计算机主板。 安装驱动和开发工具&#xff1a;安装Sentinel HASP加密狗的驱动程序和开发…

Linux: ubi rootfs 加载故障案例

文章目录 1. 前言2. ubi rootfs 加载故障现场3. 故障分析与解决4. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. ubi rootfs 加载故障现场 问题故障内核日志如下&#xff1a; Star…

python-01

第一个程序 import randomcomputer random.randint(1, 3) print(电脑出的是&#xff1a;, computer) i int(input(你要出什么&#xff1f;1代表石头&#xff0c;2代表剪刀&#xff0c;3代表布\n)) if i computer:print(平局) elif (computer 1 and i 3) or (computer 2 …

DP动态规划(上)

文章目录 动态规划基本概念斐波那契数列问题C 实现Python 实现Java 实现 迷你结C、Python和Java在实现动态规划时有哪些性能差异&#xff1f;迷你结哪种语言在动态规划中更适合大规模数据处理?迷你结C有哪些知名的库适用于动态规划和大数据处理?动态规划辅助库大数据处理库 迷…