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的主要内容,如果未能解决你的问题,请参考以下文章
在 IOS (Swift) 中找不到 tesseract 的语言