跳转到内容

QR Code Reader vTool#

QR Code Reader vTool 允许您检测图像中的二维码,并对其进行解码。

QR Code Reader 可以检测并解码通过图像输入引脚接收的图像中的二维码。它通过区域文本输出引脚来输出结果。

区域输出包含找到二维码的区域。文本输出是由二维码编码的文本字符串。

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

QR Code Reader vTool

QR Code Reader 版本#

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

Starter Basic Pro
您可以检测到多少二维码 3 3 不受限制
您是否可以检测到 GS1 和微二维码
您可以指定检测的超时时间吗?
允许哪些模块大小 边长介于 2–80 个像素之间 边长介于 6–20 个像素之间 边长介于 2–100 个像素之间
模块之间是否允许存在间隙 是的,小间隙 是的,小间隙 是的,大间隙
有多少定位图案必须可见?
(仅适用于二维码,不适用于微二维码。)
三个都可见 三个都可见 2
您是否可以检测到前亮后暗二维码?
这需要一个预处理步骤。

这需要一个预处理步骤。
您是否可以检测到镜像的二维码?
图像中的对比度是否有限制? 暗图像部分和亮图像部分之间需要足够的对比度。 暗图像部分和亮图像部分之间需要足够的对比度。 图像的明暗部分之间的差异必须至少为 10 个灰度值。
是否可以使用强化检测模式
ROI 输入引脚的有效数据类型 RectangleF RectangleF、RectangleF 数组、区域、区域数组 RectangleF、RectangleF 数组、区域、区域数组

运作原理#

信息

QR Code Reader Starter vTool 不支持 GS1 或微二维码检测。

视 QR Code Reader 的版本而定,您可以在图像中检测到多达三个或无限数量的二维码。

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

常见用例#

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

QR Code Reader Starter#

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

检测标准#

二维码必须满足以下标准,才能检测到并成功解码:

  • 代码结构:QR Code Reader 支持 1 到 40 个符号的标准范围,对应于 21 x 21 到 177 x 177 个模块。
  • 模块大小:代码中各个模块的边长必须在 2 和 80 像素之间。
  • 模块之间的间隙:模块之间允许存在小间隙。
  • 查找器图案数量:二维码包含 3 个查找器图案。所有 3 个查找器图案都必须可见才能读取代码。
  • 极性:二维码必须是明暗模式。对于前亮后暗模式,请运行预处理步骤来反转输入图像,例如,使用 Gray Value Transformer vTool
  • 镜像:可以检测到垂直和/或水平镜像的二维码。
  • 对比度:暗图像部分和亮图像部分之间需要足够的对比度。
  • 易读性:代码必须没有视觉缺陷,例如,没有反射或污迹,并且必须具有足够的分辨率和对比度。

配置 vTool#

要配置 QR Code Reader Starter vTool:

QR Code Reader Starter vTool 设置

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

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

QR Code Reader Basic#

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

检测标准#

二维码必须满足以下标准,才能检测到并成功解码:

  • 代码结构:QR Code Reader 支持 1 到 40 个符号的标准范围,对应于 21 x 21 到 177 x 177 个模块。
  • 模块大小:代码中各个模块的边长必须在 2 和 100 像素之间。
  • 模块之间的间隙:模块之间允许存在小间隙。
  • 查找器图案数量:二维码包含 3 个查找器图案。所有 3 个查找器图案都必须可见才能读取代码。
  • 极性:二维码必须是明暗模式。对于前亮后暗模式,请运行预处理步骤来反转输入图像,例如,使用 Gray Value Transformer vTool
  • 镜像:可以检测到垂直和/或水平镜像的二维码。
  • 对比度:暗图像部分和亮图像部分之间需要足够的对比度。
  • 易读性:代码必须没有视觉缺陷,例如,没有反射或污迹,并且必须具有足够的分辨率和对比度。

数据代码类型#

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

  • 二维码
  • GS1 二维码
  • 微二维码

二维码和 GS1 二维码的符号结构完全相同,但其编码方案不同。

在对标准二维码进行解码时,QR Code Reader 会输出原始字符串。如果选择的是 GS1 二维码,QR Code Reader 将以符合 GS1 标准的格式解码字符串。

超时#

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

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

配置 vTool#

配置 QR Code Reader Basic vTool:

QR Code Reader Basic vTool 设置

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

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

QR Code Reader Pro#

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

检测标准#

二维码必须满足以下标准,才能检测到并成功解码:

  • 代码结构:QR Code Reader 支持 1 到 40 个符号的标准范围,对应于 21 x 21 到 177 x 177 个模块。
  • 模块大小:代码中各个模块的边长必须在 2 和 100 像素之间。
  • 模块之间的间隙:模块之间允许存在大间隙。
  • 查找器图案数量:二维码包含 3 个查找器图案。必须有 2 个查找器图案可见才能读取代码。
  • 极性:二维码可以是前暗后亮图案或前亮后暗图案或两者的混合。
  • 镜像:可以检测到垂直和/或水平镜像的二维码。
  • 对比度:图像的明暗部分之间的差异必须至少为 10 个灰度值。
  • 易读性:对比可以检测到具有视觉缺陷(例如反射或污迹)且分辨率或对比度偏低的代码。

数据代码类型#

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

  • 二维码
  • GS1 二维码
  • 微二维码

二维码和 GS1 二维码的符号结构完全相同,但其编码方案不同。

在对标准二维码进行解码时,QR Code Reader 会输出原始字符串。如果选择的是 GS1 二维码,QR Code Reader 将以符合 GS1 标准的格式解码字符串。

检测模式#

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

超时#

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

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

配置 vTool#

配置 QR Code Reader Pro vTool:

QR Code Reader Pro vTool 设置

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

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

输入#

图像#

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

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

ROI#

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

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

输出#

文本#

返回以二维码编码的文本字符串。

  • 数据类型:字符串数组

区域#

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

  • 数据类型:区域数组

典型前置项#

典型后置项#