我想使用tesseract只识别数字。所以我设置了如下的tesseract:
tesseract::TessBaseAPI tess;
tess.SetVariable("tessedit_char_whitelist","0123456789");
tess.Init(tessdata, "eng", tesseract::OEM_DEFAULT);
tess.SetImage((uchar*)im.data, im.size().width, im.size().height, im.channels(), im.step1());
const char* out = tess.GetUTF8Text();
但结果中仍然出现了字母。我是tesseract的新手,任何人都可以帮助解决我的问题?谢谢。
顺便说一下,图像稍微旋转一下。
答案 0 :(得分:2)
如果您已经发现它,我不是用户,但您的问题可能是您在Init()之前调用SetVariable()?在baseapi.h中查看SetVariable(),措辞有点自相矛盾:
SetVariable可以在Init之前使用,但设置将恢复为End()的默认值。注意:必须在Init()之后调用。仅适用于非init变量(init变量应传递给Init())。
所以我建议你做一个简单的重新排序,看看它是如何运作的。
免责声明:我没有经过测试,所以我不知道这是不是问题。