c++ - 如何强制 tesseract 不使用 TESSDATA_PREFIX

标签 c++ ocr tesseract

我在我的电脑上安装了 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/

相关文章:

java - 从图像到字符串的手写识别

java - 如何在 OpenCV 中设置感兴趣区域 - JAVA

java - Tess4J 非法状态异常 : Input not set

java - 我如何在 Android 的 TessBaseApi 中设置 textord_equation_detect true

tesseract - 有没有办法将 tesseract 用于单个数字?

c++ - 如何在 emacs 的一列中对齐 C++ 类成员名称?

c++ - 如何为跨平台 C++ 开发设置 Visual Studio

c++ - 将多种类型的模板化类存储到容器中

c++ - qt openGL - 球体变形

iphone - iPhone上的号码识别可以实时进行吗?