Tesseract.exe 因 Pytesseract 失败

问题描述 投票:0回答:1

我有一个 Python 项目,它使用 pytesserract 将 OCR 应用于图像并从中获取文本。我已经使用 pyinstaller 编译了这个项目,并且该项目在我的本地、Windows 沙箱环境和 Windows 2012 服务器计算机中运行良好,但是当我将其部署到具有相同操作系统(Windows Server 2012 R2)的生产服务器时,我在执行过程中遇到了错误OCR 过程。首先弹出一个窗口,显示 tesserrat.exe 已停止工作。然后我检查了日志,发现 1 个信息日志后面有 2 个与此问题相关的错误日志。

-信息:

故障桶,类型 0 事件名称:APPPCRASH 响应:不可用 Cab 编号:0

 

问题签名:P1:tesseract.exe P2:0.0.0.0 P3:639a0c83 P4: libtesseract-5.dll P5:0.0.0.0 P6:639a0c7f P7:c000001d P8:001b639f P9: P10:

 

附件:

 

这些文件可在此处获取: C:\Users\usr\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_tesseract.exe_45e0684ae65db46f6f2bc3f433eb0f313d8116_60142e40_19e538bc

 

分析符号:重新检查解决方案:0 报告 ID:2928099

2-e2a6-11ed-812b-005056a87ce5 报告状态:2048 哈希存储桶:

-错误 1:

故障应用程序名称:tesseract.exe,版本:0.0.0.0,时间 邮票:0x639a0c83

故障模块名称:libtesseract-5.dll,版本:0.0.0.0,时间 邮票:0x639a0c7f

异常代码:0xc000001d

故障偏移:0x001b639f

故障进程 ID:0x17f8

应用程序启动时间出现故障:0x01d976b3f22cf105

故障应用程序路径:C:\Program Files (x86)\Tesseract-OCR esseract.exe

故障模块路径:C:\Program Files (x86)\Tesseract-OCR\libtesseract-5.dll

报告 ID:3012b6a3-e2a7-11ed-812b-005056a87ce5

故障包全名:

故障包相关应用程序 ID:

错误2

由于以下原因之一,Windows 无法访问该文件: 网络连接有问题,文件所在磁盘有问题 存储在该计算机上或安装在该计算机上的存储驱动程序;或者 磁盘丢失。 Windows 关闭了程序 tesseract.exe 因为 这个错误。

 

程序:tesseract.exe 文件:

 

错误值列在“附加数据”部分中。用户操作

  1. 再次打开文件。这种情况可能是一个临时问题,当程序再次运行时它会自行纠正。
  2. 如果文件仍然无法访问并且 - 在网络上,您的网络管理员应验证网络没有问题并且服务器可以 被联系。 - 它位于可移动磁盘上,例如软盘或 CD-ROM,请确认该磁盘已完全插入计算机。
  3. 通过运行 CHKDSK 检查并修复文件系统。要运行 CHKDSK,请单击“开始”,单击“运行”,键入 CMD,然后单击“确定”。在命令下 提示时,键入 CHKDSK /F,然后按 ENTER。
  4. 如果问题仍然存在,请从备份副本恢复文件。
  5. 确定是否可以打开同一磁盘上的其他文件。否则,磁盘可能会损坏。如果是硬盘,请联系您的 管理员或计算机硬件供应商寻求进一步帮助。

 

附加数据错误值:00000000 磁盘类型:0

不存在与磁盘故障相关的问题。我怀疑这可能与权限有关,所以我以管理员身份运行我的 OCR 项目,但仍然存在同样的问题。

此环境中没有互联网连接,但我在没有互联网连接的环境中尝试了该项目,以确保包不需要连接。

编辑:我已将 tesseract.exe 设置为需要由管理员运行,然后尝试以管理员身份运行我的命令,但仍然存在同样的问题。

Edit-2:我已经检查了我编译的 python 脚本 exe 是 64 位且使用 32 位正方体的可能原因,我怀疑这是否是问题所在,但我的测试之前是这样成功完成的。

Edit-3:我还检查了防病毒或防火墙日志,以确保它们都没有阻止 dll,但没有与此相关的日志。

Edit-4:我部署了更新并更改了 Tesserract-OCR 的目录并再次尝试,它仍然失败,我尝试在 D://Tesseract-OCR/ 中运行“tesseract images/eurotext.png - -l eng”它实际上有效,但当我运行应用程序时,我假设以下行失败“pytesseract.image_to_string(thresh, lang=self.lang_tesseract)”

python windows tesseract python-tesseract
1个回答
0
投票

经过长期调查,我们发现安全应用程序阻止了 tesseract 的 dll 之一。运行 tesseract.exe 时没有问题,但显然当我们将它与 pytesseract 一起使用时,这个 dll 是必需的,所以这就是问题出现的地方。

© www.soinside.com 2019 - 2024. All rights reserved.