我在我的电脑上安装了 tesseract,它定义了 TESSDATA_PREFIX 环境变量。完全卸载 tesseract 后,我尝试以这种方式使用 tesseract API:
if (myOCR->Init("C:/Projects/project/Release/tessdata/", "rus")) {
fprintf(stderr, "Could not initialize tesseract.\n");
exit(1);
}
并接收
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.
在 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
希望对您有所帮助!
关于c++ - 如何强制 tesseract 不使用 TESSDATA_PREFIX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14951784/