C++ Tesseract API,白名单设置为数字,但结果中显示字母
我想使用tesseract只识别数字。因此我设置tesseract如下:C++ Tesseract API,白名单设置为数字,但结果中显示字母,c++,tesseract,C++,Tesseract,我想使用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,
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的新手,有人能帮我解决问题吗?多谢各位
顺便说一下,图像有点旋转 如果您已经理解了,我不是用户,但您的问题可能是您在Init()之前调用SetVariable()?看看baseapi.h中的SetVariable(),措辞有点自相矛盾: SetVariable可以在Init之前使用,但设置将在End()上恢复为默认值。注意:必须在Init()之后调用。仅适用于非init变量(init变量应传递给init()) 所以我建议你做一个简单的重新排序,看看结果如何
免责声明:我还没有测试,所以我不知道这是否是问题所在。如果您已经解决了,我不是用户,但您的问题可能是您在Init()之前调用SetVariable()?看看baseapi.h中的SetVariable(),措辞有点自相矛盾: SetVariable可以在Init之前使用,但设置将在End()上恢复为默认值。注意:必须在Init()之后调用。仅适用于非init变量(init变量应传递给init()) 所以我建议你做一个简单的重新排序,看看结果如何
免责声明:我还没有测试过,所以我不知道这是否是问题所在。这可能有用@KumarSaurabh这是否意味着即使只设置了一个数字,也会直接识别低相似度的字母?但我认为将低相似性识别为错误数字更为合理。这可能有用@KumarSaurabh这是否意味着即使只设置了数字,低相似性也将被直接识别为字母?但我认为将低相似性识别为错误数字更为合理。