Tesseract setVariable白名单适用于英语,例如,我使用它只识别图像中的数字和字母(不包括特殊字符&*^%!等)
myOCR->SetVariable("tessedit_char_whitelist",
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");但是我不能对俄语做同样的事情
myOCR->SetVariable("tessedit_char_whitelist", "0123456789абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМОПРСТУФХЦЧШЩЭЮЯ");有没有不同的原则?因为这是“不工作”。我在输出中只收到数字,而不是所有确定的字符,tesseract忽略了我放入白名单中的所有俄文字母。黑名单也不起作用。有什么方法可以摆脱它吗?谢谢。
发布于 2013-02-27 23:01:44
所以答案就是在白名单中使用这些符号unicode编码,不知道该怎么做
发布于 2014-04-02 15:56:57
C#
var fromEncodind = System.Text.Encoding.UTF8;
var bytes = fromEncodind.GetBytes(ans);
var toEncoding = System.Text.Encoding.GetEncoding(1251);
ans = toEncoding.GetString(bytes);
engine.SetVariable("tessedit_char_whitelist", ans);发布于 2015-07-26 20:21:53
我在android上也遇到过类似的问题(tess-two)。这可以使用例如将UTF8转换为java实体的在线tool来简单地完成。例如,您的字符集:
tess.setVariable(TessBaseAPI.VAR_CHAR_WHITELIST, "0123456789\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042D\u042E\u042F");https://stackoverflow.com/questions/14955053
复制相似问题