当前位置: 首页 > 知识库问答 >
问题:

其他语言的Tesseract set变量白名单

江华容
2023-03-14

Tesseract setVariable白名单适用于英语,例如,我使用它仅识别图像中的数字和字母(不包括特殊字符)

myOCR->SetVariable("tessedit_char_whitelist",
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");

但我不能对俄语做同样的事情

myOCR->SetVariable("tessedit_char_whitelist", "0123456789абвгдежзийклмнопрстуфхцчшщъыьэюяАБВГДЕЖЗИЙКЛМОПРСТУФХЦЧШЩЭЮЯ");

有不同的原则吗?因为这是不可行的。tesseract忽略了我输入到白名单中的所有俄语字母,而不是输出中只接收数字的所有确定字符。黑名单也不起作用。有什么办法摆脱它吗?谢谢

共有3个答案

秋兴思
2023-03-14

我在android上也有类似的问题(tess two)。可以简单地使用此在线工具将UTF8转换为java实体。例如,您的一组字符:

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");
司马洲
2023-03-14

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);
戚研
2023-03-14

所以答案是在白名单中使用这个符号unicode代码,我不知道该怎么做

 类似资料:
  • Nacos社区当前仅提供了Java版本的客户端,我们将主要依靠社区的贡献来发展多语言客户端。在未来,我们将向Nacos社区用户推荐那些最被广泛使用的以及支持最好的客户端作为Nacos相应语言的官方版本。 go cpp python nodejs more ...

  • 在编码过程中,可能会遇到没有名称的变量、类型或方法。虽然这不是必须的,但有时候这样做可以极大地增强代码的灵活性,这些变量被统称为匿名变量。 匿名变量的特点是一个下画线“_”,“_”本身就是一个特殊的标识符,被称为空白标识符。它可以像其他标识符那样用于变量的声明或赋值(任何类型都可以赋值给它),但任何赋给这个标识符的值都将被抛弃,因此这些值不能在后续的代码中使用,也不可以使用这个标识符作为变量对其它

  • 当使用缺乏原生Pact支持的语言来写服务提供者时,你仍然可以使用通用的Pact提供者端验证工具来验证是否满足契约。 通用Pact提供者验证 下面的设置简化了任何语言的Pact提供者端的验证过程。 特性: 验证发布到Pact Broker的Pact文件 在开发环境验证供测试用的本地Pact*.json文件 安装有Ruby环境以及sane的预先配置的Docker镜像,缺省为src / Rakefile

  • JRuby Read more here: https://github.com/iconara/mikka. Groovy/Groovy++ Read more here: https://gist.github.com/620439. Clojure Read more here: http://blog.darevay.com/2011/06/clojure-and-akka-a-match

  • 以下是经典的实践中的一致性: 当线程A写入一个易失性变量,随后线程B读取相同的变量时,A在写入易失性变量之前可见的所有变量的值在读取易失性变量后变得对B可见。 我不确定我真的能理解这句话。例如,在这种情况下,所有变量的含义是什么?这是否意味着使用对使用非volatile变量也有副作用<在我看来,这句话有一些我无法理解的微妙含义<有什么帮助吗?

  • 问题内容: 什么语言用于构建c ++和java等底层语言? 您怎么能没有语言地建立第一语言? 问题答案: 在编译器的上下文中,此操作通常称为bootstrapping。特别是,请参阅“鸡肉和鸡蛋问题”部分,以直接找到您的问题。 非常 第一 编译器会一直手用汇编语言编写。如果您的下一个问题是“第一个汇编程序是怎么写的?” 那么答案是,第一个汇编器是用二进制机器代码手写的,并且可能带有前面板拨动开关。