我遇到了这个错误,这让我对 tesseract 的 python 包装器有点疯狂,这是一个名为 tesseract 的 python 模块。
这是我尝试运行的 python 代码:
img = cv2.imread(image, 0)
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetPageSegMode(tesseract.PSM_AUTO)
tesseract.SetCvImage(img,api)
url = api.GetUTF8Text()
conf=api.MeanTextConf()
print('Extracted URL : ' + url)
api.End()
这就是我得到的:
Error opening data file ./tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
我不明白为什么要这样做,因为我已将 TESSDATA_PREFIX 环境变量正确设置为我的超立方体安装的正确路径(带有尾部斜杠)。
当我尝试直接从 powershell 运行 Tesseract 时(顺便说一句,我在 Windows 7 上),通过执行以下操作:
tesseract.exe .\data\test.tif -psm 7 out
它就像一个魅力!
另外,当我在 python 脚本中使用 Popen 调用 Tesseract 时,它工作正常,但我不喜欢我无法直接从标准输出获取 OCR 文本的想法。事实上,除了向 Tesseract 提供输出文件名,然后 fopen 并从该文件中读取之外,似乎没有其他选择。我觉得仅仅为了获得 OCR 的输出而处理临时文本文件会非常糟糕......
Help?
第一个参数为api.Init
应该是 TESSDATA_PREFIX。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)