配置文本识别设置

相关项: GUI 测试和组件

本主题描述如何配置文本识别设置。

先决条件

在您的应用程序中,捕获要检测或提取的文本的图像。

返回页首

分析文本的特征

确定是否可以使用文本(或类似于文本)属性而不是文本识别机制捕获文本。

运行使用 OCR 的步骤会比运行使用基于属性的对象识别的步骤花费更长的时间。

返回页首

确定要使用的 OCR 引擎

您可能需要对应用程序进行试验,以找出哪种 OCR 设置可获得最佳效果。确定了哪种 OCR 引擎最适合您的测试后,建议您始终使用该引擎。对不同的运行使用不同的引擎可能会产生不同的结果。

当选择 OCR 引擎时,请考虑以下事项:

考虑事项 Google 和 Baidu (云) ABBYY 和 Tesseract (非云)
精度

选择证明最能准确体现您的应用程序的 OCR 引擎。

云供应商提供不同的客户计划,从而提供各种级别的精度。

可用性

需要云 OCR 帐户和可用的 Internet 连接

不需要帐户或 Internet 连接

语言支持

Google 云 OCR 自动检测语言并支持混合语言文本。您不必指定期望在应用程序中使用的语言。另请参阅已知问题 - 多语言应用程序

与 ABBYY 相比,Baidu OCR 支持的语言较少,但在象形语言 (例如中文、日语或朝鲜语) 中提供了较高的准确性和较好的识别能力。

在“文本识别”窗格中检查 Baidu 和 ABBYY 的可用语言列表。Baidu 分别支持各种语言或包含中文和英语的文本。另请参阅已知问题 - 多语言应用程序

ABBYY OCR 支持许多语言,可以将其配置为支持多种语言,并且可以识别混合语言文本。

使用 Tesseract OCR 引擎时,一次只能使用一个语言包。有关语言中语言包的更多详细信息,请参阅以下内容。

性能

受 Internet 连接质量 (而不是计算机配置) 的影响。

受云平台计划的影响。

需要强大的处理器。在较旧的计算机上,可能需要很长时间才能为复杂图像或多语言文本提供结果。

Tesseract OCR 引擎比 ABBYY OCR 引擎慢。如果您的测试大量使用了文本识别步骤 (例如 GetVisibleText),请注意运行这些测试所需的总时间将增加。

返回页首

设置文本识别选项

在“选项”对话框的“文本识别”窗格 (“工具”>“选项”>“GUI 测试”选项卡 >“文本识别”节点) 中,设置以下选项:

文本识别选项 详细步骤
OCR 引擎类型

选择以下文本识别机制之一:

  • ABBYY OCR (默认选项)
  • Tesseract OCR 引擎
  • Google 云 OCR 引擎
  • Baidu 云 OCR 引擎

ABBYY OCR 文本识别引擎仅在您将其包含在 OpenText Functional Testing 安装中时可用。如果未安装 ABBYY,Tesseract 将用作默认引擎。

配置与云 OCR 服务的连接

使用云 OCR 引擎需要在相关供应商处设置一个帐户,并获取用于连接到云服务的访问令牌或密钥。

  • 输入您的访问令牌或密钥
  • 如果您的 Internet 连接需要代理服务器,请指定代理服务器地址和身份验证详细信息。
  • 按“测试连接”以测试连接详细信息,并确保 OpenText Functional Testing 可以连接到云 OCR 服务。
文本识别模式

(仅限 ABBYY 和 Tesseract OCR 引擎)

  • 单文本块模式: 专注于区域并将其视为单个文本块。该选项对尝试捕获小对象上的文本或小文本区域中的文本尤其有用。如果对象文本的字体、大小、颜色和背景都一致,请选择该选项。

  • 多文本块模式: 指示 OCR 机制处理对象中背景字体和字体大小不同的每个文本区域。OCR 机制按照内部算法决定划分文本块的位置。只有当对象上的文本由不同的字体、字体大小、颜色和/或背景组成时,才选择该选项。

语言

可用语言和支持的语言 (仅限 ABBYY OCR 引擎)

从可用语言列表中,选择文本识别支持的一种或多种语言。

语言类型 (仅限 Baidu OCR 引擎)

从语言列表中,选择一种语言以支持文本识别,或者选择“中文与英语”

当前语言包 (仅限 Tesseract OCR 引擎)

用于文本识别的当前语言包。使用 Tesseract 引擎时,一次只能使用一个语言包。

您可以从 Tesseract OCR 引擎下载站点下载其他语言包: https://github.com/tesseract-ocr/tessdoc/blob/master/Data-Files.md#data-files-for-version-400-november-29-2016。下载后,将文件添加到“<Installdir>/dat/tessdata4.1”文件夹。

模式训练

(仅限 ABBYY OCR 引擎)

单击“使用训练模式”以帮助 ABBYY OCR 引擎识别应用程序中不常见或不清楚的字符。

您可以创建训练模式,指定要使用的现有模式,或者修改现有模式。

有关详细信息,请参阅 配置文本识别设置

预览 (仅限 ABBYY、Baidu 和 Google OCR 引擎)

单击此按钮可预览根据此任务中设置的选项生成的文本识别结果。

有关详细信息,请参阅验证文本识别配置

文本识别的符号 (仅限 Tesseract OCR 引擎) 输入希望 OCR 识别的字符列表。当运行测试时,将仅对指定的字符执行文本识别,所有其他字符均被忽略。
使用文件中的配置

(仅限 Tesseract OCR 引擎) 指定应从外部创建的文件加载文本识别配置。

有关创建文件的详细信息,请参阅 https://github.com/tesseract-ocr/tesseract/blob/master/doc/tesseract.1.asc

在使用文本识别之前预处理图像 指定应在执行文本识别之前处理背景图像。这样,在使用文本识别之前就可以识别图像元素。

启用快速模式 (仅限 Tesseract OCR 引擎)

Tesseract 引擎提供了一种快速模式来提高 OCR 性能。这可能降低文本识别的准确性。

UI 中不再提供“快速模式”选项。快速模式现在由用于 OCR 的数据文件控制。

启用快速模式:

  1. 从 Tesseract OCR 引擎站点 https://github.com/tesseract-ocr/tessdata_fast 下载快速模式的语言包。

  2. 将“<Installdir>/dat/tessdata4.1”文件夹中的文件替换为快速模式的新文件。

    注: 确保保留原始文件,以防您以后想停用快速模式。

返回页首

验证文本识别配置

可以使用“预览”按钮来验证您在设置文本识别选项中设置的文本识别选项,然后优化您的设置。

使用 Google 或 Baidu 预览文本识别结果:

  1. 单击“工具”>“选项”>“GUI 测试”选项卡 >“文本识别”节点中的“预览”按钮。
  2. 在“预览”对话框中,单击“浏览”以选择应用程序的图像文件,然后单击“识别”
  3. 在右侧框中查看识别结果。
  4. 如有必要,调整“文本识别”选项。

使用 ABBYY 预览文本识别结果:

  1. 单击“工具”>“选项”>“GUI 测试”选项卡 >“文本识别”节点中的“预览”按钮。
  2. 在“预览”对话框中,单击“浏览”以选择应用程序的图像文件。
  3. 选择或自定义一组 OCR 配置,然后单击“识别”

    有关 OCR 配置集和识别参数的详细信息,请参阅预览窗格 (选项对话框 > GUI 测试选项卡 > 文本识别)

  4. 在右侧框中,查看根据您选择或自定义的配置集以及您在“文本识别”窗格中设置的 OCR 选项生成的识别结果。
  5. 如有必要,调整您的文本识别设置。

    您可以在“选项”窗口中全局调整设置,也可以在测试中针对特定测试运行在本地调整设置。

    要针对测试中的测试运行进行本地调整,请单击“生成脚本”以生成选定或自定义的 ABBYY OCR 参数设置集 (SetABBYYParameters 步骤),然后单击“复制脚本”以复制到您的测试。

    提示:  

    • 如果希望 ABBYY OCR 参数设置影响在同一个测试运行中已检索到其文本的图像,请在插入 SetABBYYParameters 步骤之前插入 ClearOCRCache 步骤。

    • 在将 ABBYY OCR 参数设置用于部分测试运行后,您可以使用 ResetABBYYParameters 步骤返回到全局 ABBYY OCR 设置。

返回页首

ABBYY OCR 模式训练

训练 ABBYY OCR 引擎以识别应用程序中的不常见或模糊字符。

提供包含字符的图像,并指定各种形状代表的字符。您可以创建训练模式,指定要使用的现有模式,或者修改现有模式。

备注: 不支持中文、日语或韩语的模式训练。如果您选择这些语言进行文本识别,“使用训练模式”选项不可用。

要创建训练模式,请执行以下操作:

  1. 在“工具”>“选项”>GUI 测试”选项卡 >“文本识别”节点中:

    为“OCR 机制”选择“Abbyy OCR”,然后单击“使用训练模式”以激活模式训练选项。

  2. (可选) 输入用于保存训练模式的新的或现有 .ptn 文件的路径。

    执行以下某项操作:

    • 手动输入路径。

    • 单击“打开”并浏览到现有的模式文件。

    • 单击“新建”并浏览到要创建模式文件的文件夹。

    如果您不输入路径,则会创建新的训练模式文件,并自动生成名称和位置。

    如果您指定现有的模式文件,您训练的模式将添加到此文件中,而不会覆盖其当前内容。

  3. 单击“训练用户模式”

  4. 单击“浏览”并选择包含字符的图像文件以供 ABBYY 识别。

    支持以下图像文件类型: .jpg.jpeg.bmp.png

  5. 单击“训练用户模式”。“模式训练”对话框将打开并高亮显示字符。

  6. 如果字符识别正确,请单击“跳过”移动到下一个字符。

  7. 否则,请按照对话框中的说明调整字符的边框,以识别并指定具体的字符。

    如有必要,您可以通过高亮显示图像中的连续字符并指定它们所代表的字符串来创建复合字符。

  8. 单击“训练”。将显示图像中的下一个字符。重复训练步骤,直到到达文件末尾。

    提示:  

    • 遍历图像中的所有字符可能需要一些时间。您可能希望将应用程序分成多个图像。

    • 在某些情况下,例如在长时间的或已中断的训练会话结束时,会显示意外的错误消息。您可以单击“确定”或者“继续”以关闭该消息并忽略它。

  9. 使用“预览”选项测试文本识别。有关详细信息,请参阅验证文本识别配置

要指定要使用的现有模式,请执行以下操作: 

  1. 在“工具”>“选项”>GUI 测试”选项卡 >“文本识别”节点中:

    为“OCR 机制”选择“Abbyy OCR”,然后单击“使用训练模式”以激活模式训练选项。

  2. 输入现有 .ptn 文件的路径,或单击“打开”浏览至现有文件。

  3. 使用“预览”选项测试文本识别。有关详细信息,请参阅验证文本识别配置

如果已拥有训练模式,还可以使用自动化脚本来指定用于文本识别的训练模式文件。有关详细信息,请参阅《UFT 自动化对象模型参考》中的 App.Options.PatternFileLocation 属性。

要编辑现有模式,请执行以下操作: 

  1. 在“工具”>“选项”>GUI 测试”选项卡 >“文本识别”节点中:

    为“OCR 机制”选择“Abbyy OCR”,然后单击“使用训练模式”以激活模式训练选项。

  2. 输入现有 .ptn 文件的路径,或单击“打开”浏览至现有文件。

  3. 单击“编辑”。将打开“用户模式”对话框。

  4. 您可以查看训练字符的图像、更改其属性或将其从训练模式中删除。

  5. 使用“预览”选项测试文本识别。有关详细信息,请参阅验证文本识别配置

备注: 模式训练和用户模式对话框是 ABBYY OCR 的一部分。因此,这些对话框以系统语言显示,而不是为 OpenText Functional Testing 配置的语言。

有关模式训练的更多详细信息,请参阅 ABBYY 文档。

返回页首

另请参见: