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

RuntimeError:针对 API 版本 a 编译的模块,但这个版本的 numpy 是 9

RuntimeError:针对 API 版本 0xe 编译的模块,但这个版本的 numpy 是 0xd