【问题标题】:How to set and get a variable in tesseract using C++如何使用 C++ 在 tesseract 中设置和获取变量
【发布时间】:2015-06-29 13:46:58
【问题描述】:

我有一个简单的问题:如何使用 C++ 在 tesseract 中获取变量。

比如我想设置"load_system_dawg" to false

`tesseract.setVariable("load_system_dawg",?);`

是吗? = 0 和 1,还是“真”和“假”?

还有如何检查变量的设置?

`tesseract.getBoolVariable("load_system_dawg");`
or 
`tesseract.getVariableAsString("load_system_dawg");`

在我所有的情况下并尝试代码中断。

Documentation Tesseract GetBoolVariable

编辑

我可以得到一个变量,但为什么设置后无法获取。

tess.SetVariable("load_punc_dawg", "0");
tess.SetVariable("load_punc_dawg", "false");
bool result = false;
tess.GetBoolVariable("load_punc_dawg", &result);

但是result = true. bool thisOne = tess.GetBoolVariable("load_punc_dawg", &result);

returns `"thisOne" = true`, and `"result" = true"`

为了检查结果,我正在通过代码进行调试。

【问题讨论】:

  • 你试过tess.SetVariable("load_punc_dawg", "false");,即“false”而不是“0”吗?
  • 刚刚更新了我的问题
  • .. 只是为了确定.. 在调用 getBoolVariable 之后你有类似if (result) {std::cout << "damn it didnt work" << std::endl;} 的东西吗?
  • 还要检查GetBoolVariable 的返回值。如果该值设置成功,则返回 true(如果找不到“load_punc_dawg”则返回 false)
  • 如前所述,我不知道ocr。但是,现在我对这个问题很感兴趣......对于完整的诊断,您还应该查看 SetVariable 的返回值

标签: c++ ocr tesseract


【解决方案1】:

好吧,这似乎很有趣。在 tesseract 初始化时设置参数目前对我有用。

GenericVector<STRING> pars_vec;
pars_vec.push_back("load_punc_dawg");

GenericVector<STRING> pars_values;
pars_values.push_back("0"); //"false"

tesseract::TessBaseAPI tess;
tess.Init(NULL, "eng", tesseract::OEM_TESSERACT_ONLY, NULL, 0, &pars_vec,
            &pars_values, false);

bool result = false;
bool thisOne = tess.GetBoolVariable("load_punc_dawg", &result);

returns "thisOne" = true and "result" = false

Source found here

【讨论】:

【解决方案2】:

我不知道ocr,但只是通过阅读doc我发现,那....

获取布尔变量的函数有这样的签名:

bool GetBoolVariable (const char * name,bool * value) const

所以你必须这样称呼它:

bool result;
tesseract.GetBoolVariable("name",&result);

setVariable 将const char * 作为第二个参数。因此,您的 ? 应该是 "0"/"1""true"/"false" (但不是 0/1true/false 我很确定这两种变体都会工作)。

【讨论】:

  • 好的,谢谢。我会尽快回复。
猜你喜欢
  • 2010-09-16
  • 1970-01-01
  • 2020-01-15
  • 2016-05-05
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多