Code Monkey home page Code Monkey logo

umi-ocr's Introduction

中文 English 日本語

Umi-OCR

Umi-OCR 文字识别工具

Umi-OCR LICENSE forks stars forks 翻译状态


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

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

1-标题-1.png

1-标题-2.png

目录

使用源码

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

下载发行版

以下发布链接均长期维护,提供最新软件版本。

•  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。如果批量识别这类图片,水印会对识别结果造成干扰。
  • 按住右键,绘制多个矩形框。这些区域内的文字将在任务中被忽略。
  • 请尽量将矩形框画得大一些,完全包裹住水印所有可能出现的位置。

文档识别

文档识别

  • 支持格式: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错位的情况,请调整界面和外观渲染器 ,尝试切换到不同渲染方案,或关闭硬件加速。

调用接口:


软件本地化翻译:

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

译者 贡献语言
bob English, 繁體中文, 日本語
Qingzheng Gao English, 繁體中文
Weng, Chia-Ling English, 繁體中文
linzow English, 繁體中文
Eric Guo English
plum7x 繁體中文
ドコモ光 日本語

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

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


关于项目结构

各仓库:

工程结构:

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

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

支持的离线OCR引擎:

运行环境框架:

构建项目

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

第一步:下载代码

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

后续步骤:

对于不同平台(虽然现在只有Windows),需要不同的运行环境。

  • Windows
  • 跨平台的支持筹备中

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

本项目也拥有非常简易的一键打包脚本,在以上仓库中查看。


开发计划

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

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

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

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

  • 检查更新机制。

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

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

  • 基于GPU的离线OCR。

  • 图片翻译

  • 离线翻译。

  • 固定区域识别。

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

  • 历史记录系统。

  • 兼容 MacOS / Ubuntu 等平台。

umi-ocr's People

Contributors

byxs20 avatar chialingweng avatar chunkiuu avatar comradekingu avatar gcmutator avatar goplaymaki avatar hiroi-sora avatar linzow avatar plum7x avatar qwedc001 avatar qzgao avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

umi-ocr's Issues

能否添加OCR扫描版pdf文档功能

现实操作中,除了直接操作图片外,也有不少扫描过的pdf文档,不能直接提取文字。需要先转化成图片再OCR。如果能在打开文件夹选取图片时多加一个pdf类型,并在开始任务时自动先转化成临时同名图片文件,任务完成后再自动删除临时图片文件,那就厉害了!这个建议可能有点过高,作者量力而行就是了,谢谢!

大佬请教一下如何提高英文识别效果

目前正在使用1.3.0版本配合纯英v3 rec模型,目前识别的格式较为单一,以英文、符号为主,偶有数字,目前效果不错。
但是有个问题是在单个识别的情况下容易漏字符,比如逗号容易识别不到、“&”识别成“8”之类的错误比较常见,但是批量识别的情况下错误几率会低很多。
想请教下这种情况怎么可以改善一下?麻烦大佬有时间帮忙解答一下我的疑惑,谢谢。

软件建议

OS 名称: Microsoft Windows 11 专业版
OS 版本: 10.0.22000 暂缺 Build 22000
OS 制造商: Microsoft Corporation
OS 配置: 独立工作站
OS 构建类型: Multiprocessor Free
系统制造商: AZW
系统型号: GTR
系统类型: x64-based PC
处理器: AMD64 Family 25 Model 80 Stepping 0 AuthenticAMD ~3301 Mhz

  1. 在1.2.6的版本中,点击”录制按键“,软件会出现短暂的卡死。
  2. 建议增加可以后台运行,当前点击关闭按键,软件就直接被关闭
  3. 建议增加截图识别功能,可以截取选择需要识别的区域
  4. 增加开机自动启动,虽然当前可以自己设置。

v1.2.6初始化失败(系统语言不兼容问题)

image

e[37m---    fused 0 elementwise_add with relu activatione[0m
e[37m---    fused 0 elementwise_add with tanh activatione[0m
e[37m---    fused 0 elementwise_add with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_add with swish activatione[0m
e[37m---    fused 0 elementwise_add with hardswish activatione[0m
e[37m---    fused 0 elementwise_add with sqrt activatione[0m
e[37m---    fused 0 elementwise_add with abs activatione[0m
e[37m---    fused 0 elementwise_add with clip activatione[0m
e[37m---    fused 0 elementwise_add with gelu activatione[0m
e[37m---    fused 0 elementwise_add with relu6 activatione[0m
e[37m---    fused 0 elementwise_add with sigmoid activatione[0m
e[37m---    fused 0 elementwise_sub with relu activatione[0m
e[37m---    fused 0 elementwise_sub with tanh activatione[0m
e[37m---    fused 0 elementwise_sub with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_sub with swish activatione[0m
e[37m---    fused 0 elementwise_sub with hardswish activatione[0m
e[37m---    fused 0 elementwise_sub with sqrt activatione[0m
e[37m---    fused 0 elementwise_sub with abs activatione[0m
e[37m---    fused 0 elementwise_sub with clip activatione[0m
e[37m---    fused 0 elementwise_sub with gelu activatione[0m
e[37m---    fused 0 elementwise_sub with relu6 activatione[0m
e[37m---    fused 0 elementwise_sub with sigmoid activatione[0m
e[37m---    fused 0 elementwise_mul with relu activatione[0m
e[37m---    fused 0 elementwise_mul with tanh activatione[0m
e[37m---    fused 0 elementwise_mul with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_mul with swish activatione[0m
e[37m---    fused 0 elementwise_mul with hardswish activatione[0m
e[37m---    fused 0 elementwise_mul with sqrt activatione[0m
e[37m---    fused 0 elementwise_mul with abs activatione[0m
e[37m---    fused 0 elementwise_mul with clip activatione[0m
e[37m---    fused 0 elementwise_mul with gelu activatione[0m
e[37m---    fused 0 elementwise_mul with relu6 activatione[0m
e[37m---    fused 0 elementwise_mul with sigmoid activatione[0m
e[37m---    fused 0 elementwise_add with relu activatione[0m
e[37m---    fused 0 elementwise_add with tanh activatione[0m
e[37m---    fused 0 elementwise_add with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_add with swish activatione[0m
e[37m---    fused 0 elementwise_add with hardswish activatione[0m
e[37m---    fused 0 elementwise_add with sqrt activatione[0m
e[37m---    fused 0 elementwise_add with abs activatione[0m
e[37m---    fused 0 elementwise_add with clip activatione[0m
e[37m---    fused 0 elementwise_add with gelu activatione[0m
e[37m---    fused 0 elementwise_add with relu6 activatione[0m
e[37m---    fused 0 elementwise_add with sigmoid activatione[0m
e[37m---    fused 0 elementwise_sub with relu activatione[0m
e[37m---    fused 0 elementwise_sub with tanh activatione[0m
e[37m---    fused 0 elementwise_sub with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_sub with swish activatione[0m
e[37m---    fused 0 elementwise_sub with hardswish activatione[0m
e[37m---    fused 0 elementwise_sub with sqrt activatione[0m
e[37m---    fused 0 elementwise_sub with abs activatione[0m
e[37m---    fused 0 elementwise_sub with clip activatione[0m
e[37m---    fused 0 elementwise_sub with gelu activatione[0m
e[37m---    fused 0 elementwise_sub with relu6 activatione[0m
e[37m---    fused 0 elementwise_sub with sigmoid activatione[0m
e[37m---    fused 0 elementwise_mul with relu activatione[0m
e[37m---    fused 0 elementwise_mul with tanh activatione[0m
e[37m---    fused 0 elementwise_mul with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_mul with swish activatione[0m
e[37m---    fused 0 elementwise_mul with hardswish activatione[0m
e[37m---    fused 0 elementwise_mul with sqrt activatione[0m
e[37m---    fused 0 elementwise_mul with abs activatione[0m
e[37m---    fused 0 elementwise_mul with clip activatione[0m
e[37m---    fused 0 elementwise_mul with gelu activatione[0m
e[37m---    fused 0 elementwise_mul with relu6 activatione[0m
e[37m---    fused 0 elementwise_mul with sigmoid activatione[0m
0 : Active code page: 65001

1 : OCR init completed.

初始化成功!
e[37m---    fused 0 elementwise_add with relu activatione[0m
e[37m---    fused 0 elementwise_add with tanh activatione[0m
e[37m---    fused 0 elementwise_add with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_add with swish activatione[0m
e[37m---    fused 0 elementwise_add with hardswish activatione[0m
e[37m---    fused 0 elementwise_add with sqrt activatione[0m
e[37m---    fused 0 elementwise_add with abs activatione[0m
e[37m---    fused 0 elementwise_add with clip activatione[0m
e[37m---    fused 0 elementwise_add with gelu activatione[0m
e[37m---    fused 0 elementwise_add with relu6 activatione[0m
e[37m---    fused 0 elementwise_add with sigmoid activatione[0m
e[37m---    fused 0 elementwise_sub with relu activatione[0m
e[37m---    fused 0 elementwise_sub with tanh activatione[0m
e[37m---    fused 0 elementwise_sub with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_sub with swish activatione[0m
e[37m---    fused 0 elementwise_sub with hardswish activatione[0m
e[37m---    fused 0 elementwise_sub with sqrt activatione[0m
e[37m---    fused 0 elementwise_sub with abs activatione[0m
e[37m---    fused 0 elementwise_sub with clip activatione[0m
e[37m---    fused 0 elementwise_sub with gelu activatione[0m
e[37m---    fused 0 elementwise_sub with relu6 activatione[0m
e[37m---    fused 0 elementwise_sub with sigmoid activatione[0m
e[37m---    fused 0 elementwise_mul with relu activatione[0m
e[37m---    fused 0 elementwise_mul with tanh activatione[0m
e[37m---    fused 0 elementwise_mul with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_mul with swish activatione[0m
e[37m---    fused 0 elementwise_mul with hardswish activatione[0m
e[37m---    fused 0 elementwise_mul with sqrt activatione[0m
e[37m---    fused 0 elementwise_mul with abs activatione[0m
e[37m---    fused 0 elementwise_mul with clip activatione[0m
e[37m---    fused 0 elementwise_mul with gelu activatione[0m
e[37m---    fused 0 elementwise_mul with relu6 activatione[0m
e[37m---    fused 0 elementwise_mul with sigmoid activatione[0m
e[37m---    fused 0 elementwise_add with relu activatione[0m
e[37m---    fused 0 elementwise_add with tanh activatione[0m
e[37m---    fused 0 elementwise_add with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_add with swish activatione[0m
e[37m---    fused 0 elementwise_add with hardswish activatione[0m
e[37m---    fused 0 elementwise_add with sqrt activatione[0m
e[37m---    fused 0 elementwise_add with abs activatione[0m
e[37m---    fused 0 elementwise_add with clip activatione[0m
e[37m---    fused 0 elementwise_add with gelu activatione[0m
e[37m---    fused 0 elementwise_add with relu6 activatione[0m
e[37m---    fused 0 elementwise_add with sigmoid activatione[0m
e[37m---    fused 0 elementwise_sub with relu activatione[0m
e[37m---    fused 0 elementwise_sub with tanh activatione[0m
e[37m---    fused 0 elementwise_sub with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_sub with swish activatione[0m
e[37m---    fused 0 elementwise_sub with hardswish activatione[0m
e[37m---    fused 0 elementwise_sub with sqrt activatione[0m
e[37m---    fused 0 elementwise_sub with abs activatione[0m
e[37m---    fused 0 elementwise_sub with clip activatione[0m
e[37m---    fused 0 elementwise_sub with gelu activatione[0m
e[37m---    fused 0 elementwise_sub with relu6 activatione[0m
e[37m---    fused 0 elementwise_sub with sigmoid activatione[0m
e[37m---    fused 0 elementwise_mul with relu activatione[0m
e[37m---    fused 0 elementwise_mul with tanh activatione[0m
e[37m---    fused 0 elementwise_mul with leaky_relu activatione[0m
e[37m---    fused 0 elementwise_mul with swish activatione[0m
e[37m---    fused 0 elementwise_mul with hardswish activatione[0m
e[37m---    fused 0 elementwise_mul with sqrt activatione[0m
e[37m---    fused 0 elementwise_mul with abs activatione[0m
e[37m---    fused 0 elementwise_mul with clip activatione[0m
e[37m---    fused 0 elementwise_mul with gelu activatione[0m
e[37m---    fused 0 elementwise_mul with relu6 activatione[0m
e[37m---    fused 0 elementwise_mul with sigmoid activatione[0m
Active code page: 65001

OCR init completed.

初始化OCR成功,进程号为12148

Originally posted by @andongya95 in #9 (comment)

长图识别效果差

图片
图片是长截图,直接显示了无文字
设置缩放的时候如果图片两条边长差距过大,希望可以考虑一下短边

截图识别的快捷键会经常失效

截图识别的快捷键会经常失效,重新录制的热键会好用,但是等一会再用就又会失效,并且会出现设置alt+S 被识别成Alt+Win+s,然后需要重新启动软件才能恢复。
image

添加额外语言报错 11.1

OS 名称: Microsoft Windows 11 专业版
OS 版本: 10.0.22000 暂缺 Build 22000
OS 制造商: Microsoft Corporation
OS 配置: 独立工作站
OS 构建类型: Multiprocessor Free
系统制造商: AZW
系统型号: GTR
系统类型: x64-based PC
处理器: AMD64 Family 25 Model 80 Stepping 0 AuthenticAMD ~3301 Mhz

软件版本:1.3.1 alpha1

额外添加英文,在使用的过程中会报错。

image

文件一:
PaddleOCR_json_config_en.txt
image

文件二:
en_dict.txt
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/ppocr/utils/dict/en_dict.txt

文件三:
image

文件四:
image

切换为其他语言后,还是可以正常使用。

请帮忙看看是哪里的故障呢?切换为英文就报错。

【解决快捷键问题】v1.3.1 测试 & 反馈

update:v1.3.1 正式版已发布。


旧版本Umi-OCR的快捷键模块依赖于boppreh/keyboard库,存在失效、录制不正确等问题。

v1.3.1 alpha 测试版本基于 moses-palmer/pynput 的基础接口构建了一套全新的快捷键事件框架,理论上能避免 keyboard 和 pynput 库固有的一些缺点。

在v1.3.0及以前版本遇到快捷键问题的朋友可以来尝试一下测试版。无论遇到了问题,还是运行良好,都希望您向我反馈,在本issue下留言即可。谢~

测试版发布地址:
https://github.com/hiroi-sora/Umi-OCR/releases/tag/v1.3.1-alpha

如何打包

十分感谢你提供的程序,我想要修改一些操作,但是-D打包后出现控制台,而且包很大,请问你是怎么用pyinstaller -F -w -i icon/icon.ico -n "Umi-OCR 批量图片转文字" main.py来打包的呢,这个应该只会把一个文件打包,如果修改spec导入其它文件后-F会出现文字识别卡死的情况

PaddleOCR json.exe-应用程序错误,识别失败(win10 x64)

运行程序后,弹窗显示:

PaddleOCR json.exe应用程序无法正常启动(0xc0000142)。清单击确定"关闭应用程序。
屏幕截图 2022-04-12 182154

输出面板显示:

识别失败,错误码:300
错误信息:向识别器进程写入图片地址失败,疑似该进程已崩溃。[Errno 22] Invalid argument

屏幕截图 2022-04-12 182255

系统:Windows 10 专业版 64 位操作系统
版本号:21H2

必须来夸一下

这可真是个好用的程序,作者整体叙事和解决上一个issues的贴心程度属实i了。工具做的功能十分齐全,ReadMe写的也很清楚。

功能建议:截图识别后直接在软件窗口上将所有文字合并为一段

大佬好,我用ocr主要是在码字的时候临时识别不能复制的文字(一般是一小段,长的用abbyy处理),截图识别后马上复制粘贴到word里面继续码字。

目前软件貌似只能将识别结果输出为txt等文件的时候才能实现合并等操作,但是码字的时候如果能直接在软件窗口里面把识别结果复制出来使用,会方便很多。

所以,大佬能考虑加入截图识别后直接在软件窗口上选择合并文字等操作吗😁

英文内容识别中,空格的识别率较低

操作系统:Microsoft Windows 11 操作系统名称:
10.0.22000 缺Build 22000
操作系统制造版本:微软公司
操作系统配置:独立工作站专业版操作系统制造商
类型:多处理器自由
系统制造商:AZW
系统型号:GTR
系统类型:x64-based PC
处理器:AMD64 Family 25 Model 80 Stepping 0 AuthenticAMD ~3301 Mhz

Umi-OCR版本:1.3

image
image

目前 PaddleOCR 模型中好像针对英文中的空格识别率较低,不知道是否可以支持其它英文识别较好的OCR工具

添加文本排版或合并功能

非常感谢您的这个软件,长图识别正确率很高,但是在段落较长、屏幕宽度小于文本长度时时会出现文本断行的情况,所以想问您考虑增加一个文本排版功能吗?类似于PandaOCR的这个功能

系统启用UTF-8支持时,含有中文等Unicode字符的图片路径读取错误

正常ASCII字符文件名的图片可以正常识别

如果使用文件名中带有中文字符的图片会给出以下提示(带emoji表情的文件名也一样)

≦ 测试06123505.png ≧
识别失败,错误码:200
错误信息:Image path not exist. Path:"C:****\����06123505.png"

并且无法直接拖入程序中

值得一提的是我打开了系统中的“区域-区域设置-Unicode UTF-8支持“,不知道是否和这个有关系

  • 系统:Win 11 22H2 25193.1000
  • CPU:AMD Ryzen 5 5600X

识别器初始化失败

和之前网友的问题截屏一样。

可以运行PaddleOCR_json.exe
Active code page: 65001
OCR init completed.

什么问题呢?谢谢

微信中直接复制的图片无法读取

  1. 从微信聊天中直接复制有文字的图片
  2. 用剪切板查看工具确认剪切板内有图片信息
  3. 点击识别内容->剪切板读取
    期望:OCR结果
    实际:没有任何反应

托盘及快捷键

首先谢谢。
能否加入最小化到托盘的功能呢,这样我就能让他常驻了。
另外,我通过一些自动化的工具(比如Quicker)尝试操作快捷键的时候,Umi没有反应,必须我按键盘出来的才行。这个有办法调整吗?
再次感谢。

快捷键修改

现在截图的快捷键是alt+win+c 能否将快捷键设置为调整模式,之前用天若的ORC是可以自己设置快捷键的(用的是F4)

有几率快捷键失效 & 录制不正确 10.29

操作系统:Microsoft Windows 11 操作系统名称:
10.0.22000 缺Build 22000
操作系统制造版本:微软公司
操作系统配置:独立工作站专业版操作系统制造商
类型:多处理器自由
系统制造商:AZW
系统型号:GTR
系统类型:x64-based PC
处理器:AMD64 Family 25 Model 80 Stepping 0 AuthenticAMD ~3301 Mhz

Umi-OCR版本:1.3

image

  1. 截图功能有时候会失效(好像是因为长时间没有使用就会这样),只有重新录制快捷键才可以正常使用
  2. 有时候录制结果显示是多个按键组合。案例:录制F2截图,显示F2+F9,但按F2还是生效

功能建议:OCR结果输出到每个图片同名的单独txt文件

之前一直对离线OCR工具不抱任何希望,直到找到这个开源软件。测试下来识别率真的很高,感谢作者无私奉献!不支持win7略有点遗憾。还有一点小希望,如果后续版本能加入输出OCR结果到txt文件时,可以一个图片一个txt文件,以每个图片的主名为文件名,那就更棒了!

功能建议:软件窗口置顶功能

我在使用word文档时,用软件识别文字后,不想全部复制文字,需要多次复制文字到表格里。虽然有并排显示窗口功能,但是希望作者能把软件加上一个软件窗口置顶功能。

如下图:
屏幕截图 2022-09-30 221442

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.