Tesseract 4.0语言加载失败求助——MacBook Pro(Sierra)环境
解决MacBook Pro Sierra上Tesseract OCR的语言加载失败问题
先确认一下你遇到的错误信息:
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! Could not initialize tesseract.
针对这个问题,这里有几个之前没提到的实用替代方案,你可以逐一尝试:
临时设置环境变量(当前终端会话生效)
先找到你的tessdata目录位置。如果是用Homebrew安装的Tesseract,在Sierra系统下通常路径是/usr/local/share/tessdata。打开终端,输入以下命令:export TESSDATA_PREFIX=/usr/local/share/注意这里要设置成
tessdata的父目录,不是tessdata本身。设置完后直接运行你的Tesseract命令,看看是否能正常识别。永久配置环境变量(全局生效)
如果临时设置有效,你可以把这个变量加到系统配置里,避免每次打开终端都要重新输入:- 打开终端,编辑bash配置文件(Sierra默认使用bash):
nano ~/.bash_profile - 在文件末尾添加一行:
export TESSDATA_PREFIX=/usr/local/share/ - 保存并退出(按
Ctrl+O,回车确认,再按Ctrl+X),然后让配置立即生效:source ~/.bash_profile
之后重启终端,再测试Tesseract是否正常工作。
- 打开终端,编辑bash配置文件(Sierra默认使用bash):
重新安装官方语言包(修复损坏或缺失的文件)
有时候语言包损坏或者没有正确安装,会导致加载失败。你可以用Homebrew直接安装官方的语言包集合:brew install tesseract-lang这个命令会自动把常用语言包(包括英文
eng)安装到正确的tessdata目录,不用手动处理路径问题。运行时直接指定语言包路径(绕开环境变量)
如果环境变量设置始终有问题,你可以在执行Tesseract命令的时候,直接指定tessdata的路径:tesseract 你的输入图片路径.png 输出文件名 --tessdata-dir /usr/local/share/tessdata把命令里的路径换成你实际的文件路径,这样就能绕开TESSDATA_PREFIX的配置问题直接运行。
小提示:如果你不确定自己的
tessdata具体在哪里,可以用brew info tesseract命令查看Homebrew安装的Tesseract相关路径信息,里面会明确标注tessdata的位置。
内容的提问来源于stack exchange,提问作者Alex P
相关产品推荐
相关产品推荐

