我在我的电脑上安装了 tesseract,它定义了 TESSDATA_PREFIX 环境变量。完全卸载tesseract后,我尝试以这种方式使用tesseract API:
if (myOCR->Init("C:/Projects/project/Release/tessdata/", "rus")) {
fprintf(stderr, "Could not initialize tesseract.\n");
exit(1);
}
Run Code Online (Sandbox Code Playgroud)
并收到
Error opening data file C:\Program Files (x86)\Tesseract-OCR\tessdata/rus.traine
ddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent d
irectory of your "tessdata" directory.
Failed loading language 'rus'
Tesseract couldn't load any languages!
Could not initialize tesseract.
Run Code Online (Sandbox Code Playgroud)
在 cmd 中输入 set TESSDATA_PREFIX 告诉我没有这样的变量。但是tesseract记得它(不知道如何)。那么如何强制 tesseract 在具体文件夹中搜索 traindata 呢?谢谢
这似乎很有帮助: Tesseract - Change language file location
从该线程中的答案来看,tesseract 似乎是在查找环境变量,但如果未设置,则假定为固定位置。
解决此问题的最简单方法是运行“cmd”,然后执行以下操作:
c:\Users\alex> set TESSDATA_PREFIX="C:/Projects/project/Release/tessdata"
c:\Users\alex> cd MyOCRProgDir
c:\Users\alex\MyOCRProgDir> MyProg
Run Code Online (Sandbox Code Playgroud)
希望有帮助!
| 归档时间: |
|
| 查看次数: |
21019 次 |
| 最近记录: |