python-3.x - Tesseract 找不到 eng.traineddata
问题描述
我有使用 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 可执行文件。
非常感谢。
解决方案
- 'C:\Program Files\Tesseract-OCR/eng.traineddata' 是否存在?
- 你检查文件是否没有损坏(例如你下载正确)
- 您从哪个(tessdata 存储库)源下载了它?
- 添加
TESSDATA_PREFIX
到路径是没用的:你必须设置 env variableTESSDATA_PREFIX
。 - 提供您如何设置和运行 pytesseract 的完整代码。仅显示(部分)错误消息没有帮助。
推荐阅读
- vue.js - 在 Vue 单文件组件中访问 props 的首选方式
- sql - Apache HIVE 的计数结果不一致
- javascript - 如何检查一个数组中的值是否在一个单独的数组中具有特征,然后如果有,则在将它们各自转换为新值后返回这些值
- python - python中的熊猫;无法理解在 python-csv 库中使用 replace()
- python - 具有混合数据类型的 Numpy 数组为字符串抛出“invalid literal for int() with base 10”
- ms-word - 如何在 word Addin 中将表格行高和单元格选项设置为带有内容控件的适合文本 | Officejs
- angular - Angular5,Openlayers5 使您的弹出(覆盖)可拖动
- python - 从图像python测量物体的实际尺寸
- python - CX ORACLE - Python :: 更新语句不起作用
- python - 如何在 PyOpenGL 中更改位图字符的字体大小?