光学字符识别 (OCR)

Blue Prism 提供了多种 OCR 功能来处理屏幕上的文本:

进行原生字符识别

使用表面自动化

Blue Prism 应用程序建模器不能直接用于识别应用程序元素时,可以使用一种称为表面自动化的技术来捕获应用程序屏幕的图像并映射其上关键元素的位置。可以通过使用屏幕区域、图像匹配和字符识别来对此类应用程序建模。该技术对于未与 Blue PrismEnterprise 在同一台计算机上运行且其他探察模式不可用的探察应用程序非常有用。

在先前捕获的应用程序建模器区域使用时,系统会通过读取环节中的识别文本操作来利用基于字体匹配的原生字符识别。这将从区域中提取文本数据,并将文本数据存储在数据项目中。识别文本操作的输入参数为字体、前景颜色和背景颜色。

原生字符识别需要在使用之前生成字体。有关详细信息,请参阅字体

使用 OCR Plus

OCR Plus 通过以下方式提供更具准确性和稳健性的增强字符识别:

  • 自动识别前景颜色和背景颜色。

  • 区分看似相同的字符(例如字母 O 和数字 0),然后通过正则表达式 (RegEx) 模式消除歧义。

  • 改善字体匹配算法。

可通过读取环节的识别文本 (OCR Plus) 操作来使用这一功能。输入参数为字体和可选的 RegEx。如果未指定输入参数,系统仍会识别字体,并尽可能地尝试匹配字词。但是,如果存在任何歧义,则系统会使用默认的正则表达式,该正则表达式接受以下字形之一:

  • 大写后跟小写
  • 大写或仅小写
  • 仅数字

典型的正则表达式示例:

  • 数字:“[0-9]+”
  • 大写后跟小写字母:“[A-Z][a-z]*”
  • 大写和数字字符串:“[0-9A-Z]+"

原生字符识别和 OCR Plus 需要在使用之前生成字体。可从“系统—字体”屏幕进入“字体生成器”对话框,以及从 Blue Prism“区域编辑器”屏幕进入“生成 Blue Prism 字体”对话框,以找到相应的选项。有关更多详细信息,请参阅字体

Tesseract OCR

对于不适合使用原生字符识别引擎与屏幕上的文本进行交互的情况(例如,执行平滑文本或与电子文档的扫描副本或受其他限制的副本进行交互),Blue Prism 可借助嵌入式 Tesseract OCR 引擎使用模式匹配和复杂的基于语言的文本识别来识别文本。

为了最大限度地提高文本识别的有效性,每英寸点数 (dpi) 至少需要达到 300。对于 dpi 低于此值的图像(例如屏幕上的文本),Scale 参数会在将捕获区域传递给引擎之前人为地增大该区域的大小。通常,将比例因子设置为 4 或 5 会提供成功的结果。

在用于先前捕获的应用程序建模器区域时,系统将在读取环节通过使用 OCR 读取文本操作使用 Tesseract OCR 引擎,并包含读取文本、列表和网格的选项。还可以将预处理后的图像输出到特定的诊断位置,以允许验证所应用的缩放是否满足所选区域的需要。

语言包

可以从互联网上获得用于 Tesseract 的语言包。Blue Prism 与 Tesseract 版本 4.0.0 配合使用,并且必须与正确的语言文件主版本一起使用。目前,版本 4.0.0 语言文件可以从 Tesseract 网站下载。

要添加对另一种语言的支持,请下载适当的文件并将其复制到 Tesseract\tessdata 文件夹(通常为 C:\Program Files\Blue Prism Limited\Blue Prism Automate\Tesseract\tessdata)。

语言文件使用语言代码作为前缀,例如 fra(法语)、deu(德语)、jpn(日语)、chi-tra(繁体中文)。在安装到每个所需的设备上之后,系统可以在读取环节中的使用 OCR 读取文本操作的语言参数中指定该代码,以指示引擎使用所需的包。

页面分割模式

读取环节中的使用 OCR 读取文本操作具有可选的文本参数“页面分割模式”,可用于指定 Tesseract 定义的值。下面显示的是可以在此参数中输入的值,以及它们的操作的简要描述。

如果没有为“页面分割模式”输入值,则将使用默认值“自动”。

参数

描述

OSD

仅限方向和脚本检测 (OSD)。

AutoWithOSD

使用 OSD 自动分割页面。

AutoNoOCR

自动分割页面,但没有 OSD 或 OCR。

自动

全自动分割页面,但没有 OSD。(默认)

假定为一列可变大小的文本。

VerticalBlock

假定为一个垂直对齐文本的统一块。

假定为一个统一的文本块。

将图像视为一个文本行。

将图像视为一个字。

CircledWord

将图像视为圆圈中的一个字。

字符

将图像视为一个字符。

SparseText

在无特定顺序模式下查找尽可能多的文本。

SparseTextWithOSD

带有 OSD 的稀疏文本。

RawLine

将图像视为一个文本行,绕过特定于 Tesseract 的变通方法。

有关分割模式的更多信息,请参阅 Tesseract 在其网站上提供的官方文档。