gpt4 book ai didi

python - Pytesseract 加载语言失败 'chi-sim'

转载 作者:行者123 更新时间:2023-12-05 05:58:39 25 4
gpt4 key购买 nike

我正在使用如下示例代码开发 python tesseract 包:

import pytesseract
from PIL import Image

tessdata_dir_config = "--tessdata-dir \"/opt/homebrew/Cellar/tesseract-lang/4.1.0/share/tessdata/\""
image = Image.open("dataset/test.jpeg")
text = pytesseract.image_to_string(image, lang = "chi-sim", config = tessdata_dir_config)
print(text)

我收到以下错误消息:

pytesseract.pytesseract.TesseractError: (1, 'Error opening data file /opt/homebrew/Cellar/tesseract-lang/4.1.0/share/tessdata/chi-sim.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language 'chi-sim' Tesseract couldn't load any languages! Could not initialize tesseract.')

根据我的理解,错误发生在读取文件 chi-sim.traineddata(代表简体中文)时,我将在下面解释我为解决此问题所做的尝试。

  • 我的开发环境是 M1 macOS,我从 Homebrew 安装了 tesseracttesseract-lang。我很确定上面指定的路径正是源文件所在的位置,因为当我调用
print(pytesseract.get_languages(config = ""))

我打印了一长串语言,包括 chi-sim。

  • 此外,如果我们只使用英文而不是中文,下面的代码可以成功识别图像中的英文文本:
text = pytesseract.image_to_string(image)
  • 我尝试以多种方式指定环境变量 TESSDATA_PREFIX,包括:
  1. 在原始代码中使用 config 参数。

  2. 在 PyCharm 中添加全局环境变量。

  3. 在代码中添加以下行

os.environ["TESSDATA_PREFIX"] = "tesseract/4.1.1/share/tessdata/"
  1. 将以下行添加到终端中的 bash_profile
export TESSDATA_PREFIX=/opt/homebrew/Cellar/tesseract-lang/4.1.0/share/tessdata/

但不幸的是,这些都不起作用。

  • 好像我的文件 chi-sim.traineddata 不知何故被破坏了,所以我直接从 GitHub ( https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata ) 下载训练数据文件,点击“下载”按钮右边,将下载的文件放在tesseract-lang和原tesseract目录下(eng.traineddata所在)。是的,我都试过了,但都没有用。

关于这个问题,有什么可能的解决方案吗?

最佳答案

如果我将 lang="chi_sim"_ 而不是 - 一起使用,代码在 Linux 上对我有用,因为从服务器下载的文件有名称chi_sim.traineddata 也使用 _ 而不是 -


如果我将文件重命名为 chi-sim.traineddata 然后我可以使用 lang="chi-sim" (使用 - 而不是_)

关于python - Pytesseract 加载语言失败 'chi-sim',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68420764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com