RuntimeError:无法初始化 API,可能是无效的 tessdata 路径:<>
Posted
技术标签:
【中文标题】RuntimeError:无法初始化 API,可能是无效的 tessdata 路径:<>【英文标题】:RuntimeError: Failed to init API, possibly an invalid tessdata path:<> 【发布时间】:2019-11-29 21:49:44 【问题描述】:我正在使用 Windows 操作系统。想要通过 tesserocr 从带有 fontAttributes 的图像中检测文本。但是当我运行 python 代码时,我收到了这个错误 - RuntimeError: 无法初始化 API,可能是无效的 tessdata 路径:C:\Program Files (x86)\Tesseract-OCR\tessdata/
i) 我已经安装了 -
tesseract-ocr-w32-setup-v5.0.0-alpha.20190623.exe
//(though my system is 64 bit)
ii) 添加到路径变量(系统和用户路径) -
C:\Program Files (x86)\Tesseract-OCR
C:\Program Files (x86)\Tesseract-OCR\tessdata
iii) 创建了新的系统路径变量 - TESSDATA_PREFIX 和
的链接路径tessdata folder, like -
TESSDATA_PREFIX - C:\Program Files (x86)\Tesseract-OCR\tessdata
import pytesseract
import locale
locale.setlocale(locale.LC_ALL, 'C')
from tesserocr import PyTessBaseAPI, RIL, iterate_level,OEM
with PyTessBaseAPI(oem=OEM.TESSERACT_ONLY,lang='bask') as api:
api.SetImageFile('sugar.png')
api.Recognize()
ri = api.GetIterator()
level = RIL.WORD
for r in iterate_level(ri, level):
attrs = r.WordFontAttributes()
symbol = r.GetUTF8Text(level)
print(symbol,attrs)
with PyTessBaseAPI(oem=OEM.TESSERACT_ONLY,lang='bask') as api:
File "tesserocr.pyx", line 1168, in tesserocr._tesserocr.PyTessBaseAPI.__cinit
__
File "tesserocr.pyx", line 1181, in tesserocr._tesserocr.PyTessBaseAPI._init_a
pi
RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\Program
Files (x86)\Tesseract-OCR\tessdata/
【问题讨论】:
【参考方案1】:您的系统中可能没有 .traineddata 文件。你必须复制它
C:\Program Files\Tesseract-OCR\tessdata
并将所有数据文件粘贴到您的目录,我建议创建一个虚拟环境然后使用它
【讨论】:
以上是关于RuntimeError:无法初始化 API,可能是无效的 tessdata 路径:<>的主要内容,如果未能解决你的问题,请参考以下文章
RuntimeError:针对 API 版本 0xc 编译的模块,但这个版本的 numpy 是 0xb
解决 RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd
解决 RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd
解决 RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd