hiroi-sora / Umi-OCR

OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。
MIT License
23.48k stars 2.39k forks source link

【FAQ】 常见问题 / Frequently Asked Questions #447

Open hiroi-sora opened 3 months ago

hiroi-sora commented 3 months ago

Translate to English

Umi-OCR 常见问题

这个Issue列举一些本项目常见的问题及解答。

提出新Issue之前,请确保在您已经读过此篇内容或搜索过其他Issue,确保问题没有重复。

目录:

Windows7 常见问题

Windows7用户特别注意:Win7已是过时、官方放弃维护的系统。本项目依赖的某些第三方库可能在此系统上存在兼容性问题。我们只能确保对靠后的Win7版本,尽量让所有功能可用。
强烈建议Windows7用户将最新的系统补丁、驱动、VC运行库 等安装完整,以确保最佳兼容性。

使用源码时的问题

hiroi-sora commented 3 months ago

PaddleOCR-json 应用程序无法正常启动(0xc0000142)

或者:[Error] OCR init fail.l. Argd: {'enable_mkldnn': True... 大概率也是此问题。

发生条件:

修复方法:

换用 PaddleOCR 之外的插件或软件版本。比如:

hiroi-sora commented 3 months ago

某种语言识别准确率低

(特别是简中、英语以外的语言,如繁中、日文等)

如果 Umi-OCR 在识别中没有报错,那么这类问题与 Umi 本身无关。

Umi 支持多种离线OCR引擎(详见 插件仓库),它们均为 开源项目 。对于大众语言如 简体中文、英语,开源项目也可以达到接近商业服务的性能和准度。但受限于 模型训练成本 ,开源项目往往无法投入太多资源来训练 较小众语言 的模型。

因此,类似 繁中、日文、韩文、音标、特殊符号 等语言/字符,在复杂图片中准确率较低,是目前难以避免的。

Umi-OCR 未来计划允许接入在线OCR服务。如果对准确率有较高的要求,未来可以使用百度、腾讯等公司提供的在线收费OCR服务。

同时,如果发现有某款开源引擎在某些领域的识别效果优于现有模型,也欢迎开发者适配,或者提出适配请求。详见插件仓库。

hiroi-sora commented 3 months ago

表格识别 / 图片翻译

目前,作者正在筹备一次较大的重构,重新设计软件底层的插件系统,以便支持更丰富的插件,为 表格识别图片翻译、更完善的Latex识别、跨平台支持 等功能做铺垫。

受限于作者的业余时间、精力等限制,难以在短期内完成这项工作,还请耐心等待。

hiroi-sora commented 3 months ago

MacOS 版本

更多跨平台的支持已在本项目的未来计划之中。

受限于作者的业余时间、精力等限制,难以在短期内完成这项工作,还请耐心等待。

目前支持 MacOS 的开源OCR软件:

hiroi-sora commented 3 months ago

GPU加速

此功能在长线计划内。目前由开发者 qwedc001 负责主要工作,进展见 RapidOCR-json-gpu/releases

但是,GPU加速依赖的CUDA环境调配较为复杂,设备兼容性较差。对于非开发者的普通用户而言,安装、配置、调试的门槛较高。我们正在研究如何让普通人能更轻松地使用它。

欢迎更多愿意帮忙测试或者提供贡献的用户来推进GPU计划,您需要有一块支持CUDA的Nvidia显卡。如有兴趣,请浏览 RapidOCR-json-gpu 项目,并在该仓库的Issues中交流。

hiroi-sora commented 3 months ago

启动软件时,错误弹窗:

Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags0,depthBufferSize24 redBufferSize -1,greenBufferSize -1,blueBufferSize -1, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat:DoubleBuffer, swaplnterval 1, colorSpace QSurfaceFormat:DefaultColorSpace, profile QSurfaceFormat:NoProfile).
This is most likely caused by not having the necessary graphics drivers installed.

Install a driver providing OpenGL 2.0 or higher, or, if this is not possible, make sure the ANGLE Open GL ES 2.0 emulation libraries (libEGL.dll, libGLESv2.dll and d3dcompiler_*.dll) are available in the application executable's directory or in a location listedinPATH.

可能的发生条件:

修复方法:

下载: opengl32sw_x64.zip

解压,将其中的两个dll文件放置于 UmiOCR-data/site-packages/PySide2/

hiroi-sora commented 3 months ago

弹出黑框控制台窗口,【错误】Umi-OCR Error 找不到指定的程序 OSError

对于 v2.1.1 及以上版本,启动软件时弹出一个黑色控制台窗口,显示类似如下的报错信息。 对于 v2.1.1 以下版本,启动软件时什么反应都没有,但是在cmd中打开软件时,显示类似如下的报错信息。

【错误】 Umi-OCR Error: Failed to initialize running environment!

OSError: [WinError 127] 找不到指定的程序。: '...\\UmiOCR-data\\site-packages\\shiboken2'

raise ImportError<'this platform is not supported: <>'.format  
importError: DLL Load failed while importing _ctypes: 参数错误

image image

可能的发生条件:

修复方法:

推荐方法:使用系统检查更新(控制面板 → 系统和安全 → Windows Update → 检查更新),安装所有更新。

另一种方法:单独下载安装 KB2533623补丁Windows6.1-KB2533623-x64.msu ) ,重启系统即可。不过,微软的 官方渠道 已经关闭了该补丁的下载链接,您可能只能从第三方网站下载补丁,请务必注意安全。

hiroi-sora commented 3 months ago

保存PDF时 “已停止工作”

文档识别,能识别出文字,能保存为txt等文件。但如果选择保存为双层可搜索PDF,则最后导出文件时弹窗报错:

Umi-OCR.exe 已停止工作

查看问题详细信息:

问题事件名称:BEX64
故障模块名称:ucrtbase.DLL
故障模块版本:10.0.10240.16390
异常偏移:00000000064399
异常代码:c0000417

可能的发生条件:

win7早期版本,缺少系统补丁(尤其是 KB4534310KB3042058

修复方法:

注意!由于 KB4534310 依赖前置补丁,因此 不能 单独下载安装该补丁。

您必须使用系统检查更新(控制面板 → 系统和安全 → Windows Update → 检查更新),安装所有缺失的更新,直到这个项目安装完毕:

2020-01 适用于基于 x64 的系统的 Windows 7 月度安全质量汇总 (KB4534310)

温馨提示,如果自动升级的过程中出现 80092004 的安装错误,实测 这个做法 有效。

如下图,直到安装了这些更新,就能解决PDF无法保存的问题。

image

hiroi-sora commented 2 months ago

丢失api-ms-win-crt-runtime-l1-1-0.dll

打开软件时,依次弹出以下两个错误弹窗:

Umi-OCR.exe-系统错误 无法启动此程序,因为计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll 。尝试重新安装该程序以解决此问题。

image

ERROR Cannot find Py_Main() in: ...\Umi-OCR\UmioCR-data\runtime\python3.dll

image

可能的发生条件:

缺少VC运行库

修复方法:

安装 VC运行库(点击下载) 。随后如果出现不同的报错,请参考本贴的其它条目解决。

hiroi-sora commented 1 month ago

截图时软件闪退

可能的发生条件:

修复方法:

Umi-OCR → 全局设置 → 渲染器 → 改为 关闭硬件加速

image

Newbie-username commented 1 month ago

是否考虑支持国产海光CPU呢?

hiroi-sora commented 1 month ago

是否考虑支持国产海光CPU呢?

由于我个人的资源和精力有限,无法主动去适配各种非标准平台。我们欢迎持有特殊平台的开发者为本项目进行测试、反馈信息、或贡献相关代码。

hiroi-sora commented 1 week ago

【Linux】

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome.

部分 Linux 发行版,首次运行 umi-ocr.sh 时,报错如下:

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb. ./umi-ocr.sh: line 26: 3919 Aborted (core dumped) python3 UmiOCR-data/main_linux.py "$@"

发生原因:

这个错误通常是由于系统缺少 libxcb 系列基础库所致。这个库用于支持显示器配置、桌面应用的渲染,基于 Qt 的应用程序需要依赖此库。如果系统中缺少这个库,Qt 平台将无法加载,从而导致应用程序启动失败。

修复(Debian系):

sudo apt update && sudo apt upgrade -y
sudo apt install libxcb-xinerama0

完成此步骤后,再次运行 umi-ocr.sh 应该可以正常启动应用程序。

修复(通用做法):

  1. 查看具体缺失了什么依赖库:(在 Umi-OCR 目录内,执行下列指令)
    ldd UmiOCR-data/.embeddable/lib/python3.10/site-packages/PySide2/Qt/plugins/platforms/libqxcb.so | grep "not found"
  2. 根据上面的输出,在 https://pkgs.org 中搜索应该安装什么库,用 yumapt 安装到系统中。
hiroi-sora commented 1 week ago

【Linux】

截图时黑屏,无法截取图像

在较新的 Linux 桌面发行版中,默认使用 Wayland 显示服务器协议。由于 Wayland 对权限管理较为严格,QT 框架无法抓取屏幕截图,或者只能获取到纯黑的图像。

修复

如果您需要使用截图功能,请将显示服务器协议切换为 X 协议(如 Xorg)。以下是在 Ubuntu、Debian 等系统中进行切换的方法:

image

  1. 如果已登录进系统,则注销,退出到登录界面。无需重启。
  2. 在登录界面,点击右下角的齿轮图标。
  3. 选择 Xorg 选项。
  4. 重新登录系统。

如果不需要使用截图功能,则无需进行此操作。

hiroi-sora commented 42 minutes ago

【Linux】

qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""

在 Linux 中,首次运行 umi-ocr.sh 时,报错如下:

激活嵌入式 Python 环境。 工作目录: /home/my/中文路径/Umi-OCR_Debian_x64_Paddle_2.1.3 qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in "" This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. ./umi-ocr.sh: 第 26 行: 4351 已放弃 python3 UmiOCR-data/main_linux.py "$@"

发生原因/修复方法:

请检查上述信息的 “工作目录” 中,是否含有 中文字符 或别的非 ASCII 字符。如果有,请尝试将 Umi-OCR 移动到全英文/数字的路径之中。