跳转到内容

Data Matrix Code Reader vTool#

Data Matrix Code Reader vTool 允许您检测图像中的数据矩阵码,并对其进行解码。

Data Matrix Code Reader 可以检测并解码通过图像输入引脚接收的图像中的数据矩阵码。它通过区域文本输出引脚来输出结果。

区域输出包含找到数据矩阵码的区域。文本输出是由数据矩阵码编码的文本字符串。

如果您在检测前使用 ROI Creator vTool 指定感兴趣区域,则 Data Matrix Code Reader 会通过其 Roi 输入引脚接受 ROI 数据。这样可减少 Data Matrix Code Reader 在其中搜索代码的图像区域,从而有助于消除错误候选码。同时,这也会让处理速度更快且更稳定。

Data Matrix Code Reader vTool

Data Matrix Code Reader 版本#

有三个版本的 Data Matrix Code Reader 可用。下表显示了版本之间的差异。单击表标题中的版本可直接跳转到本主题中的相关部分。

Starter Basic Pro
您可以检测到多少数据矩阵码 3 3 不受限制
您是否可以检测到 GS1 数据矩阵码
您可以指定检测的超时时间吗?
允许哪些模块大小 Minimum side length is 3 pixels 边长介于 6–20 个像素之间 边长介于 2–100 个像素之间
模块之间是否允许存在间隙
模块是否允许倾斜 是,但必须符合模块大小 是的,最多允许倾斜 10° 是的,最多允许倾斜 30°
模块是否必须位于矩阵网格结构内
您是否可以检测到前亮后暗数据矩阵码?
这需要一个预处理步骤。

这需要一个预处理步骤。
您是否可以检测到镜像的数据矩阵码?
是否可以使用强化检测模式
ROI 输入引脚的有效数据类型 RectangleF RectangleF、RectangleF 数组、区域、区域数组 RectangleF、RectangleF 数组、区域、区域数组

运作原理#

信息

Data Matrix Code Reader Starter vTool 不支持 GS1 二维码检测。

视 Data Matrix Code Reader 的版本而定,您可以在图像中检测到多达三个或无限数量的数据矩阵码。

在 Basic 和 Pro 版本中,您可以指定超时时间以在一定时间后结束检测。如果您知道您的图像仅包含一个数据矩阵码,则配置 Data Matrix Code Reader 只寻找一个代码可以节省处理时间。

常见用例#

  • Reading 数据矩阵码:在这种情况下,您只需连接 Texts 输出引脚,即可输出解码后的字符串。
  • 确定数据矩阵码的 positions:使用从 Regions 输出引脚返回的数据矩阵码的位置和大小进行后续处理。

Data Matrix Code Reader Starter#

您可以在图像中检测到多达三个数据矩阵码。将数量限制为图像中的预期代码数量可以节省处理时间。不支持检测 GS1 数据矩阵码。若要进行检测,您需要 BasicPro 版的 vTool。

检测标准#

数据矩阵码必须满足以下标准,才能检测到并予以解码:

  • 代码结构:Data Matrix Code Reader 支持标准数据矩阵码 ECC200 结构(具有 8 至 144 行和 10 至 144 列的矩阵)。
  • Module size: The sides of individual modules in the matrix must be at least 3 pixels long.
  • 模块之间的间隙:模块之间不允许存在间隙。
  • 倾斜:只要不超过模块大小,代码就可以倾斜。
  • 网格一致性:所有模块都必须位于矩阵网格内。
  • 极性:数据矩阵码必须是明暗模式。对于前亮后暗模式,请运行预处理步骤来反转输入图像,例如,使用 Gray Value Transformer vTool
  • 镜像:可以检测到垂直和/或水平镜像的数据矩阵码。
  • 易读性:代码必须没有视觉缺陷,例如,没有反射或污迹,并且必须具有足够的分辨率。

配置 vTool#

要配置 Data Matrix Code Reader Starter vTool:

Data Matrix Code Reader Starter vTool 设置

  1. vTool 设置区域的配方管理窗格中,单击打开设置或双击 vTool。
    Data Matrix Code Reader Starter 对话框即打开。
  2. Number of Data Matrix Codes 区域中,选择要检测的数据矩阵码数量。

您可以在引脚数据视图中查看 Data Matrix Code Reader Starter 的结果。在这里,您可以选择要显示的输出。

Data Matrix Code Reader Basic#

您可以在图像中检测到多达三个数据矩阵码。将数量限制为图像中的预期代码数量可以节省处理时间。

检测标准#

数据矩阵码必须满足以下标准,才能检测到并予以解码:

  • 代码结构:Data Matrix Code Reader 支持标准数据矩阵码 ECC200 结构(具有 8 至 144 行和 10 至 144 列的矩阵)。
  • 模块大小:矩阵中各个模块的边长必须在 6 和 20 像素之间。
  • 模块之间的间隙:模块之间不允许存在间隙。
  • 倾斜:仍然可以读取倾斜达 10° 的代码。
  • 网格一致性:所有模块都必须位于矩阵网格内。
  • 极性:数据矩阵码必须是明暗模式。对于前亮后暗模式,请运行预处理步骤来反转输入图像,例如,使用 Gray Value Transformer vTool
  • 镜像:可以检测到垂直和/或水平镜像的数据矩阵码。
  • 易读性:代码必须没有视觉缺陷,例如,没有反射或污迹,并且必须具有足够的分辨率。

数据代码类型#

数据代码类型下拉列表允许您选择要查找的数据代码类型:

  • 数据矩阵码
  • GS1 数据矩阵码

数据矩阵码和 GS1 数据矩阵码的符号结构相同,但其编码方案不同。

在对标准数据矩阵码进行解码时,Data Matrix Code Reader 会输出原始字符串。如果选择的是 GS1 数据矩阵码,Data Matrix Code Reader 将以符合 GS1 标准的格式解码字符串。

超时#

对于时间要求严格的应用程序,您可以指定超时。在处理时间变化或无法预见的情况下,超时会有所帮助,例如,如果图像不包含数据矩阵码。一旦超过指定的超时时间,检测过程就会停止,并继续处理下一个图像。

Basler 建议将超时设置为略低于所需的时间限制。这是因为 vTool 不会立即停止检测过程。因此,将超时设置为所需时间限制的 70%-80%。

配置 vTool#

配置 Data Matrix Code Reader Basic vTool:

Data Matrix Code Reader Basic vTool 设置

  1. vTool 设置区域的配方管理窗格中,单击打开设置或双击 vTool。
    Data Matrix Code Reader Basic 对话框即打开。
  2. 数据代码类型下拉列表中,选择所需的数据代码类型。
  3. Number of Data Matrix Codes 区域中,选择要检测的数据矩阵码数量。
  4. Timeout 区域中,指定是否要在一定时间后结束检测。如果要指定超时,请清除 No timeout 复选框并在输入字段中输入所需的超时。

您可以在引脚数据视图中查看 Data Matrix Code Reader Basic 的结果。在这里,您可以选择要显示的输出。

Data Matrix Code Reader Pro#

您可以在图像中检测到无限数量的数据矩阵码。将数量限制为图像中的预期代码数量可以节省处理时间。

检测标准#

数据矩阵码必须满足以下标准,才能检测到并予以解码:

  • 代码结构:Data Matrix Code Reader 支持标准数据矩阵码 ECC200 结构(具有 8 至 144 行和 10 至 144 列的矩阵)。
  • 模块大小:矩阵中各个模块的边长必须在 2 和 100 像素之间。
  • 模块之间的间隙:模块之间允许存在小间隙。
  • 倾斜:仍然可以读取倾斜达 30° 的代码。
  • 网格一致性:部分位于矩阵网格之外的模块仍可读取。
  • 极性:数据矩阵码可以是前暗后亮图案或前亮后暗图案或两者的混合。
  • 镜像:可以检测到垂直和/或水平镜像的数据矩阵码。
  • 易读性:可以检测到具有视觉缺陷(例如反射或污迹)且分辨率偏低的代码。

数据代码类型#

数据代码类型下拉列表允许您选择要查找的数据代码类型:

  • 数据矩阵码
  • GS1 数据矩阵码

数据矩阵码和 GS1 数据矩阵码的符号结构相同,但其编码方案不同。

在对标准数据矩阵码进行解码时,Data Matrix Code Reader 会输出原始字符串。如果选择的是 GS1 数据矩阵码,Data Matrix Code Reader 将以符合 GS1 标准的格式解码字符串。

检测模式#

强化检测模式下,Data Matrix Code Reader 对数据矩阵码的质量更宽容。这意味着仍然会检测到不符合所有检测标准的代码。启用此选项会减慢检测过程。

超时#

对于时间要求严格的应用程序,您可以指定超时。在处理时间变化或无法预见的情况下,超时会有所帮助,例如,如果图像不包含数据矩阵码。一旦超过指定的超时时间,检测过程就会停止,并继续处理下一个图像。

Basler 建议将超时设置为略低于所需的时间限制。这是因为 vTool 不会立即停止检测过程。因此,将超时设置为所需时间限制的 70%-80%。

配置 vTool#

配置 Data Matrix Code Reader Pro vTool:

Data Matrix Code Reader Pro vTool 设置

  1. vTool 设置区域的配方管理窗格中,单击打开设置或双击 vTool。
    Data Matrix Code Reader Pro 对话框即打开。
  2. 数据代码类型下拉列表中,选择所需的数据代码类型。
  3. 数据矩阵码数量区域中,选择要检测的数据矩阵码数量。如果不知道要检测的最大代码数量,请选择无限制
  4. 如果需要,请选中使用强化检测复选框。
  5. 极性下拉列表中,选择适合您应用的选项。
    如果您的应用中的代码具有特定的极性,请相应地选择设置。如果图像中代码的极性未知或出现多个具有不同极性的代码,请选择任意
  6. Timeout 区域中,指定是否要在一定时间后结束检测。如果要指定超时,请清除 No timeout 复选框并在输入字段中输入所需的超时。

您可以在引脚数据视图中查看 Data Matrix Code Reader Pro 的结果。在这里,您可以选择要显示的输出。

输入#

图像#

直接从 Camera vTool 或从输出图像的 vTool(例如 Image Format Converter vTool)接受图像。

  • 数据类型:图像
  • 图像格式:8 位单色或彩色图像。彩色图像在内部转换为单色图像。

ROI#

从 ROI Creator vTool 或任何其他可输出区域或矩形的 vTool 中接受感兴趣区域。多个矩形或区域在内部合并以形成单个感兴趣区域。Starter 版本仅接受 RectangleF。

  • 数据类型:RectangleF、RectangleF 数组、区域、区域数组

输出#

文本#

返回以数据矩阵码编码的文本字符串。

  • 数据类型:字符串数组

区域#

返回找到的每个数据矩阵码的区域。该区域为矩形。它可以用于可视化目的或用于后续的特征提取。

  • 数据类型:区域数组

典型前置项#

典型后置项#