Chinese Simplified (简体中文)

训练识别

无论打印质量如何,ABBYY FineReader Engine 可以读取几乎任何字体的文本。因此,识别前通常不需要训练。但 ABBYY FineReader Engine 仍带有许多针对特殊情况的用户模式训练工具。

模式训练原理如下。在训练模式下识别一个或两个页面,用户输入正确的符号值。这些数据用于创建模式。模式是一个在模式训练过程中创建的成对“字符图像 — 字符本身”集。模式在识别过程中用作补充信息的来源。然后,ABBYY FineReader Engine 使用该模式来识别剩余文本。

有时,两个甚至三个字符会"粘在"一起,ABBYY FineReader Engine 可能无法将每个字符包括在单个框架中来分开它们。如果是这种情况(即您无法移动框架,以便它只包含一个完整字符,没有其它字符的部分),您可以训练 ABBYY FineReader Engine 将不可分割的字符组合作为一个整体来识别。常见的粘在一起的字符组合示例包括 ff、fi 和 fl。此类组合称为 连字

您可以在训练用户模式获取更多信息。

使用场景

以下情况可使用“训练用户模式”:

  • 识别用装饰字体设置的文本
  • 识别包含特殊字符(例如数学符号)的文本
  • 识别大量(超过一百页)打印质量低的文本

请在上述情况使用训练用户模式模式。如在其他情况下使用,识别质量可能会略微提高,但是投入的时间和精力会远大于获益。

注:

  • 仅当文档具有与创建用户模式的文档相同的字体、字号和分辨率时,该模式才有用。
  • CJK 语言不支持模式训练。如果选择这些语言之一进行识别,所有用户模式(包括针对其它语言的模式)将被忽视。
  • 在以并行进程识别时无法执行模式训练。
  • 模式训练应该在页面方向正确的页面上执行,因为页面方向自动检测在这种情况下无效。

如何用训练进行识别

  1. 创建一个 RecognizerParams 对象。
  2. 设置 IRecognizerParams::TrainUserPatterns 属性为 TRUE。
  3. 使用IEngine::CreateEmptyUserPattern 方法创建一个空的用户模式文件。
  4. IRecognizerParams::UserPatternsFile 属性中指定用户模式文件的完整路径。
  5. 用这些识别参数调用识别方法(例如,IFRDocument::Process)。遇到未知字符时,模式训练 对话框就会打开,显示字符图像。
  6. 训练您的模式 -- 以 训练用户模式模式识别一个或多个页面。已训练的字符保存在用户模式文件中。
  7. [Optional]如果您想要编辑该模式,请调用 Engine 对象的 EditUserPattern 方法。
  8. 使用该模式识别图像。

注: 如果 IRecognizerParams::UseBuiltInPatterns 属性被设为 TRUE,则 ABBYY FineReader Engine 将使用自己的内置模式进行识别。如果不想使用标准 ABBYY FineReader Engine 模式进行字符识别,设置该属性为 FALSE。这可能对于识别用装饰性或者非标准字体键入的文本有用,在这种情况下您可以使用专为这些字体训练的自己的用户定义模式。如果 UserPatternsFile 属性(其中存储用户定义模式文件的路径)为空,则 UseBuiltInPatterns 属性将被忽略。

C++ (COM) 代码

C# 代码

另请参阅

训练用户模式

24.03.2023 8:51:52

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.