Tesseract支持指定字符集白名单和黑名单,并且还支持使用UNVL中的UZN文件格式指定区域。
但是,我现在需要扫描一个包含2个区域的文档,一个只有数字,一个是普通文本。我是否可以为2个区域指定不同的字符集而不执行Tesseract两次?
如果没有,我可能会尝试修改UNICHARSET
类的代码以某种方式执行此操作。
答案 0 :(得分:1)
我最后通过使用Base API中的SetImage()/ SetRectangle()来完成它。对于每个矩形,我运行以下代码:
api.SetRectangle(left, top, width, height);
api.SetVariable("tessedit_char_whitelist", whitelist.c_str());
char *s = api.GetUTF8Text();
printf("%s", s);
delete s;