Tesseract API,白名单设置为数字但字母出现在结果中
Posted
技术标签:
【中文标题】Tesseract API,白名单设置为数字但字母出现在结果中【英文标题】:Tesseract API, whitelist set as number but letters appear in the result 【发布时间】:2016-02-21 21:40:38 【问题描述】:我想使用 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的新手,任何人都可以帮助找出我的问题吗?谢谢。
顺便说一下,图像有点旋转。
【问题讨论】:
这可能有用***.com/questions/4944830/… @KumarSaurabh 这是否意味着即使设置了唯一的数字,也会直接识别低相似度的字母?但我认为将低相似度识别为错误数字更为合理。 【参考方案1】:如果您已经弄清楚了,我不是用户,但您的问题可能是您在 Init() 之前调用了 SetVariable()?查看 baseapi.h 中的 SetVariable() 措辞有点自相矛盾:
SetVariable 可以在 Init 之前使用,但设置将在 End() 上恢复为默认值。注意:必须在 Init() 之后调用。仅适用于非初始化变量(初始化变量应传递给 Init())。
所以我建议您进行简单的重新排序,看看效果如何。
免责声明:我没有测试过,所以我不知道是不是这个问题。
【讨论】:
以上是关于Tesseract API,白名单设置为数字但字母出现在结果中的主要内容,如果未能解决你的问题,请参考以下文章