有人知道如何user_patterns_suffix
在 Tesseract 中使用用户模式()吗?你能告诉我如何处理它以及如何测试它的工作吗?我尝试遵循 Tesseract 指南(Tesseract user-patterns但我根本没有看到它影响结果。
谢谢。
有人知道如何user_patterns_suffix
在 Tesseract 中使用用户模式()吗?你能告诉我如何处理它以及如何测试它的工作吗?我尝试遵循 Tesseract 指南(Tesseract user-patterns但我根本没有看到它影响结果。
谢谢。
Tesseract 使用一种模式来实现一种“正则表达式”。如果假设您正在扫描一本书,其中包含所有格式相同的数据,则可以使用它。一个模式可以用来告诉 Tesseract 期望什么格式,比如它如何期望用户词中的词。下面是Tesseract 如何描述如何使用模式:
每个模式都可以包含任何非空白字符,但是只有包含来自相应语言的 unicharset 的字符的模式才有用。
唯一的元字符是
\
. 要在模式中用作普通字符串,它应该被转义\
(例如,字符串C:\Documents
应该在模式文件中写为C:\\Documents
)。此函数支持非常有限的正则表达式语法。可以表示一个字符、某个字符类以及实体在模式中应重复的次数。
要表示字符类,请使用以下之一:
\c
- unichar 为UNICHARSET::get_isalpha()
真(字符)\d
- unichar 为UNICHARSET::get_isdigit()
真\n
- unicharUNICHARSET::get_isdigit()
且UNICHARSET::isalpha()
为真\p
- unichar 为UNICHARSET::get_ispunct()
真\a
- unichar 为UNICHARSET::get_islower()
真\A
- unichar 为UNICHARSET::get_isupper()
真
\*
可以在每个字符或模式之后指定,以指示该字符/模式可以在下一个字符/模式出现之前重复任意次数。例子:
1-8\d\d-GOOG-411
将扩展为字符串:1-800-GOOG-411
,1-801-GOOG-411
, ...1-899-GOOG-411
。
"ww.\n\*.com"
将扩展为字符串,例如:"ww.a.com"
"ww.a123.com"
..."ww.ABCDefgHIJKLMNop.com"
注意:在选择要包含的模式时,请注意提供非常通用的模式会使 tesseract 运行速度变慢这一事实。例如
\n\*
,在模式的开头将使 Tesseract 考虑每个分段的建议字符选择的所有组合,这将是不可接受的慢。由于可能难以识别的潜在速度问题,每个用户模式必须从一开始就至少具有kSaneNumConcreteChars
具体字符unicharset
。