读取文本和数字

使用此工具可读取图像中的文本和数字。您可以使用 easyToucheasyTouch+ 以交互的方式选择要读取的文本。easyTouch 将自动估计用于检测和读取所选文本的参数值。您也可以在要读取的文本上使用感兴趣区域 (ROI)。如果 ROI 包含多行文本,将读取每行文本并以 tuple 的形式返回。

使用深度学习读取文本和数字工具不同,此工具需要经过训练的字体作为输入才能读取文本。因此,只能读取指定字体的文本。MERLIC 已经提供了一些预训练的字体。但是,您也可以使用自己的字体文件。还有一些进一步的限制需要考虑,例如,要求文本行中至少有两个字符。

读取文本和数字”或“使用深度学习读取文本和数字”哪一个最适合您的应用取决于各种因素。如果您不确定这哪一个最适合您的应用,您可以测试它们并比较结果、处理时间以及与您的应用相关的其他因素。

一般来说,此工具适用于从左到右书写的文本以及要读取的文本位置已知的图像。如果您还拥有必须的预训练字体,并且希望使用尽可能少的内存和处理时间,也可以先试用此工具。

参数

基本参数

图像

此参数表示输入图像。

如果在此工具中将彩色图像用作输入图像,仅第一个通道(即红色通道)将用于处理。

字体名称

此参数用于从组合框中选择字体。或者,使用按钮 从文件中加载字体。此字体供您读取文本。

描述

DotPrint.omc

使用该字体,您可以读取点阵打印文本。

Industrial.omc

使用该字体,您可以读取常规文本。

Universal.omc

使用该字体,您可以同时读取常规文本和点阵打印文本。“Universal.omc”的识别率可能会低于“DotPrint.omc”和“Industrial.omc”。因此,当无法确认所读取的文本是常规文本还是点阵打印文本时,我们建议仅使用此字体。

UniversalDeepLearning.occ

使用该字体,您可以同时读取常规文本和点阵打印文本。它基于深度学习并且被认为比其他字体稳健。在默认情况下,此字体供您读取文本。

要使用自己文件中的字体,请将字体文件复制到 MERLIC 安装目录中的 ocr 目录。重新加载工具后(即插入时),参数“字体名称”的下拉菜单中将立即提供该新字体。

点阵打印

此参数定义字符是否为点阵打印。默认设置为 0

描述

0

字符未以点阵打印方式打印。

1

字符以点阵打印方式打印。

字符宽度

此参数定义字符的宽度。该值所指对象为大写字符。它以像素为单位并默认设为 30 像素

描述

30

这是字符宽度的默认值。

0 - 120

这是可用于设定字符宽度的取值范围。

字符高度

此参数定义字符的高度。该值所指对象为大写字符。它以像素为单位并默认设为 55 像素

描述

55

这是字符高度的默认值。

0 - 200

这是可用于设定字符高度的取值范围。

其他参数

ROI

ROI”参数定义用于检测文字和数字的感兴趣区域 (ROI)。默认情况下不定义任何 ROI。如果想要使用 ROI 进行处理,您必须将参数连接至前一工具的适当 ROI 结果以确保某个 ROI 会传输到此工具,或者必须使用可用的 ROI 按钮在图像中绘制新的 ROI。此外,您还可使用 easyToucheasyTouch+ 检测应该读取的文本和数字。然后就会自动在文本周围创建 ROI。

对齐数据:

此参数表示用于对齐 ROI 的对齐数据。默认情况下不会连接对齐数据,因此不显示任何效果。如果想要使用特定对齐数据,您必须将参数连接至前一工具的适当结果,例如通过匹配确定对齐确定与直线边缘对齐对齐图像旋转图像

尺寸容差

此参数定义与“字符宽度”或“字符高度”的字符大小差值。它以百分比值表示并默认设为 120%。您可以将“尺寸容差”更改为 0 到 300 之间的值。如果它设置为 300%,该字符大小可能为“字符宽度”(或“字符高度”)的 1/4 到 4 倍。

描述

120

要读取的字符大小可相差 120%。

0 - 300

这是可用于设定尺寸容差的取值范围。

字符属性

此参数定义字符相对于背景的显示外观。默认设置为“”。

描述

字符在亮背景上显示暗颜色。

字符在暗背景上显示亮颜色。

文本结构

文本结构”参数只支持比例字体,即字符具有不同宽度的字体。而在等宽字体下可能无法可靠工作。

此参数定义了文本的结构,即,字符的组合方式。此参数在文本始终以相同结构出现时非常有用,例如,如果图像包含日期。在此结构化的文本中,字符按一定长度的数据块出现。此值包含各个数据块中的字符数。例如,如果“文本结构”的值定义为“4 2 2”且文本分隔符参数定义为“-”,这意味着,文本包含三个数据块,第一个数据块包含四个字符,而第二个和第三个数据块各包含两个字符。三个数据块使用“-”分隔。

读取文本示例: 2015-06-15

文本结构”参数中的表达方式: 4 2 2

文本分隔符

此参数定义字符串中可能出现哪些文本分隔符。此参数设置对于结构化文本非常有用,如读取日期时。在这种情况下,必须在相应参数中首先定义“文本结构”。

读取文本示例:2015-06-15

文本”返回的结果无分隔符:20150615

如果使用“.”之外的其他分隔符(例如,“/”),所有分隔符都应在“文本分隔符”参数中进行定义。但是,如果未设置“文本分隔符”的值,则在此情况下可能返回同样正确的结果,因为该工具已从参数“文本结构”获得有关字符数据块数的信息,尽管分隔符未知。

行程宽度

此参数定义字符的描边宽度。它以像素为单位并默认设为 12 像素

描述

12

这是字符描边宽度的默认值。

1 - 30

这是可用于设定描边宽度的取值范围。

处理失败

此参数定义了无法读取图像中的一个字符串时结果“文本”和“置信度”返回的值。默认情况下,此参数设置为 “忽略”。您可以在相应连接器中将参数设置为下列值。

描述

忽略

图像中的字符串无法读取时不采取任何动作。

-1

此值仅为示例。您可以直接在连接器的输入字段中,输入任何想要在文本无法读取时返回的数字或字符串来代替它。

*

此值仅为示例。您可以直接在连接器的输入字段中,输入任何想要在文本无法读取时返回的数字或字符串来代替它。

编码

此参数定义读取文字或数字时使用何种编码。“默认”值表示采用“UTF-8”作为编码类型。

展开下表,查看支持的编码类型列表。

结果

基本结果

文本

此结果包含已读取的文本和数字。返回结果为字符串。如果在多个 ROI 中读取多个文本条目或数字,结果将以 tuple 形式返回。

置信度

此结果返回置信度值 tuple,表明使用什么置信度值读取了文本。图像中每个文本字符串将返回一个置信度值。这些值将作为实数在一个 tuple 中返回。如果使用 100% 置信度读取文本,则对此区域返回值 1。

工具状态

工具状态”返回有关工具状态的信息,因此可用于处理错误。请参阅主题工具状态结果,了解关于不同工具状态结果的更多信息。

其他结果

提取字符区域

此结果返回在图像中所读取的每个字符的区域

处理时间:

此结果返回最近一次执行工具的持续时间(以毫秒为单位)。该结果作为附加结果提供。因此,默认情况下它是隐藏的,但是可以通过工具结果旁边的 按钮显示。有关更多信息,处理时间请参工具参考中所阅部分。

应用程序示例

此工具用于以下 MERLIC Vision App 示例:

  • read_lot_number_and_ECC200.mvapp
  • read_text_in_3d_height_image.mvapp