Tesseract 找不到 eng.traineddata

Posted

技术标签:

【中文标题】Tesseract 找不到 eng.traineddata【英文标题】:Tesseract cannot find eng.traineddata 【发布时间】:2020-02-10 19:42:20 【问题描述】:

我有使用 tesseract ocr 引擎的 python 程序。起初它工作得很好。但是,这次我卸载了 tesseract 并重新安装它,但它不起作用。

它给了

pytesseract.pytesseract.TesseractError: (1, 'Error opening data file C:\\Program Files\\Tesseract-OCR/eng.traineddata Please make sure the TESSDATA_PREFIX

我没有改变任何东西,但它不起作用。

我将 TESSDATA_PREFIX 添加到路径中。

但是当我将 eng.traineddata 从 tesstada 移动到 tesseract-ocr 文件时,它起作用了。我有另一台电脑,它也有相同的程序,而且运行良好。但是 eng.traineddata 在 tessdata 文件夹中。

为什么一个程序会出错,而另一个程序不会?

编辑

1) 'C:\Program Files\Tesseract-OCR/eng.traineddata' 在两台计算机中不存在。然而,其中一个正在工作,但另一个不工作。因此,正如我在问题中所说,我将 eng.traineddata 从 tessdata 移动到 Tesseract-OCR 文件夹,然后它就可以工作了。但这里的问题是为什么其中一个工作而另一个不工作?因为其他程序在 Tesseract-OCR 文件夹中没有 eng.traineddata。

2) 我从 mannheim uni 库下载了 tesseract 的 windows 可执行文件。所以文件没有损坏。

3)我正在使用 Tesseract 3.05

4) 我创建了 TESSDATA_PREFIX 环境变量。

5) 我从 mannheim uni 库下载了 tesseract 的 windows 可执行文件。

非常感谢。

【问题讨论】:

【参考方案1】:
    “C:\Program Files\Tesseract-OCR/eng.traineddata”是否存在? 您是否检查了文件是否未损坏(例如您下载正确) 您从哪个(tessdata 存储库)源下载了它? 将TESSDATA_PREFIX 添加到路径是没有用的:您必须设置环境变量TESSDATA_PREFIX。 提供如何设置和运行 pytesseract 的完整代码。仅显示(部分)错误消息没有帮助。

【讨论】:

如果您使用 mannheim 安装程序,并不意味着文件不会损坏。但是您写的内容表明您以错误的方式设置了 TESSDATA_PREFIX(在安装期间或以后)。我猜它指向'C:\Program Files\Tesseract-OCR',但它应该是'C:\Program Files\Tesseract-OCR\tessdata'。如果您不更改它,AFAIK 安装程序会正确设置它。 'C:\Program Files\Tesseract-OCR\tessdata 这不起作用。

以上是关于Tesseract 找不到 eng.traineddata的主要内容,如果未能解决你的问题,请参考以下文章

PyCharm 在 Mac 上找不到 Tesseract

在 IOS (Swift) 中找不到 tesseract 的语言

Tesseract 4.1.1 错误 eng.traineddata 在谷歌 colab 中找不到

Tesseract 找不到经过训练的数据文件

在 tesseract 中找不到 Lib 错误 [关闭]

在 Angular 中安装 Tesseract.js 后找不到名称“缓冲区”错误