读取 QR 码
使用此工具可检测和读取图像中的一个或多个 QR 或 Micro QR 型代码。如果添加此工具,会自动扫描当前的处理图像,并且默认情况下会读取图像上的第一个常规 QR 码。
训练
此工具在训练模式下使用。 easyTouch 和 easyTouch+ 可用于估算处理模式中当前图像的值。此工具可用于确定图像中的代码是否可以读取。随后,应使用训练模式通过一系列图像来确定最佳参数设置。
- 通过“运行一次”按钮或快捷键 F6 逐步运行应用程序,直到显示您要用作训练图像的图像。
- 单击
按钮或使用快捷键 F3,将当前图像添加到训练图像集。工具会自动高亮显示图像中代码可能存在的轮廓。
- 如有必要,在代码上绘制 ROI。
- 要添加其他训练图像,请再次重复前述步骤。
- 单击“应用训练数据”按钮执行训练。系统将自动确定一系列训练图像的参数。此外,工具还会自动切换为处理模式,并在当前图像中显示检测到的代码。
检查训练
- 单击处理图像,切换到处理模式。
- 对一系列的图像运行 MERLIC,检查是否可检测并读取代码。
- 要检查特定代码的解码数据,将鼠标指针移到图像中的代码上。解码数据将立即显示在工具提示中。或者,您也可以在相应的工具结果中检查解码数据。
您可以限制数据条码侦测的区域。在要读取代码的图像部分上方画一个 ROI,并将图像添加为训练图像。现在系统只会读取已定义图像部分的代码。
工具结构
工具面板 分为 左侧的训练区域和右侧的图形窗口。
训练区域
图形窗口
工具面板左侧的第一个图像显示当前加载的图像。在此阶段,MERLIC 提供了所有已找到代码的预览,并提供结果(如果使用默认参数设置读取成功)。
您需要通过单击 按钮将“处理”中显示的图像传输到“训练”区域,以选择训练图像。您还可添加另外一个图像。为此,请单步运行程序,直到您要用作训练图像的图像在“处理”中显示,然后按
按钮。在任何情况下,都请按下“应用训练数据”按钮来将参数应用于训练图像。
然后可以通过相同工具内的其他图像来测试参数。请参阅使用训练模式,进一步了解如何使用需要训练的工具。
参数
根据参数“码型”的选定码型和/或参数“符合标准”的选定值,一些连接器会显示为灰色。这意味着它们不适用于当前选定的参数,因此不起作用。
基本参数
图像:
此参数表示从中读取QR 码的图像。
如果在此工具中将彩色图像用作输入图像,仅第一个通道(即红色通道)将用于处理。
码型:
选择在图像中应检测和解码的代码类型。
|
值 |
描述 |
|---|---|
|
QR 码 |
检测和读取 QR 型代码。QR 码 的定位控件由三个名为位置检测图案的方形组成。 |
|
Micro QR 码 |
检测和读取 Micro QR 型代码。较小的 Micro QR 码仅有一个也为方形的定位图案。 |
预期代码数量:
此参数定义了图像中存在的预期代码数量。默认情况下,此值设置为 1。如果找到的代码少于预期数量,代码读取将失败。根据正在使用中的图像处理,该工具可能会找到超过最低数量的预期代码。在这种情况下,可以使用 ROI 限制数据代码检测的区域。
其他参数
处理区域:
此参数定义需要处理的区域。ROI 和“处理区域”并集之外的图像部分将不进行处理。此外,如果其中一个为空,将处理两者交集的图像部分。如果两者均为空,将处理整个图像。
默认情况下,“处理区域” 定义为空区域。要指定 “处理区域”,您需要将该参数连接至前一工具的适当区域结果,以确保某个区域会传输到此工具。
如果使用 easyTouch 确定参数值,则会使用整个图像进行搜索。
ROI:
“ROI” 参数定义需要检测代码的 感兴趣区域 (ROI)。“ROI” 和 “已处理的区域” 并集之外的图像部分将不进行处理。此外,如果其中一个为空,将处理两者交集的图像部分。如果两者均为空,将处理整个图像。 但是,如果使用 easyTouch 确定参数值,则会使用整个图像进行处理。
默认情况下,ROI 定义为空 ROI。如果想要使用非空的 ROI 进行处理,您必须将参数连接至前一工具的适当 ROI 结果,或者必须使用可用的 ROI 按钮在图像中绘制新的 ROI。
如果使用 easyTouch 确定参数值,则会使用整个图像进行搜索。
对齐数据:
此参数表示用于对齐 ROI 的对齐数据。默认情况下不会连接对齐数据,因此不显示任何效果。如果想要使用特定对齐数据,您必须将参数连接至前一工具的适当结果,例如通过匹配确定对齐、确定与直线边缘对齐、对齐图像或旋转图像。
超时:
通过使用此参数,可在以毫秒为单位确定的时间段之后中断工具的执行。在必须确保最大周期时间的情况下,此参数尤其有用。该中断的时间精度为 10 毫秒。此精度取决于多个因素,包括您的计算机的速度。在训练模式中会忽略超时。默认超时为 0 毫秒。
|
值 |
描述 |
|---|---|
|
0 |
默认情况下,未设置超时。 |
|
1 - 1000 |
这是可用于设定超时的取值范围(以毫秒为单位)。 |
对比度容差:
此参数定义了有关局部对比度变化(例如存在眩光或反光的情况)的搜索容差。根据此参数的值采用两种不同的算法。默认设置为“低”。
|
值 |
描述 |
|---|---|
|
低 |
快速算法:此设置在几乎不存在局部对比度变化的情况下有用。在存在强烈的局部对比度变化时稳定性较低。 |
|
高 |
稳定但较慢的算法:此设置在存在强烈局部对比度变化的情况下有用。 |
|
任意 |
强烈的局部对比度变化不一定存在。两种算法均适用。 |
最小对比度:
由于基础 HALCON 版本的原因,该参数不再起任何作用,因此已被停用。保留它只是出于兼容性的考虑。
镜像码:
此参数说明符号是否可以制作镜像 - 等同于交换符号的行和列。默认设置为“否”。
|
值 |
描述 |
|---|---|
|
否 |
代码不会以镜像形式出现。 |
|
是 |
代码总是以镜像形式出现。 |
|
任意 |
代码可能会以镜像形式出现。 |
最小间隔宽度
此参数定义符号行和列方向的最小间隔宽度。默认设置为“否”。
|
值 |
描述 |
|---|---|
|
否 |
没有最小间隔宽度。 |
|
小 |
至少存在较小的间隔宽度。 |
|
大 |
存在较大的间隔宽度。 |
最大间隔宽度
此参数定义符号行和列方向的最大间隔宽度。默认设置为“小”。
|
值 |
描述 |
|---|---|
|
否 |
没有最大间隔宽度。 |
|
小 |
允许较小的间隔。 |
|
大 |
允许较大的间隔。 |
最小模块尺寸:
此参数指定图像中模块的最小尺寸。它以像素为单位并默认设为 6 像素。
|
值 |
描述 |
|---|---|
|
6 |
这是默认的最小模块尺寸。可读取模块尺寸高于 6 个像素的所有符号。 |
|
1 - 100 |
这是可用于设定最小模块尺寸的取值范围。 |
最大模块尺寸:
此参数指定符号模块的最大尺寸。它以像素为单位并默认设为 20 像素。
|
值 |
描述 |
|---|---|
|
20 |
这是默认的最大模块尺寸。可读取模块尺寸在 20 个像素以内的所有符号。 |
|
6 - 100 |
这是可用于设定最大模块尺寸的取值范围。 |
码属性:
此参数确定符号是在亮背景上显示暗色还是在暗背景上显示亮色。默认设置为“暗”。
|
值 |
描述 |
|---|---|
|
暗 |
这是默认设置。符号在亮背景上显示暗色。 |
|
亮 |
符号在暗背景上显示亮色。 |
|
任意 |
符号既可以在亮背景上显示暗色,也可以在暗背景上显示亮色。 |
最小位置图案数量:
此参数表示位置检测图案的数量,这些检测图案必须可见以生成新的候选符号。只有在“QR 码”被选定为 “码型” 时才能更改此值。如果将“Micro QR 码”选为“码型”,则该参数不适用,因此显示为灰色。默认情况下设置为 2。
|
值 |
描述 |
|---|---|
|
2 |
这是必须可见的位置图案数量的默认值。可读取至少有 2 个可见位置图案的所有符号。 |
|
2 - 3 |
这是可用于设定最小位置图案数量的取值范围。 |
适用于小尺寸模块:
此参数定义具有极小模块尺寸的数据代码的解码稳定性。将 “适用于小尺寸模块” 参数设置为 1,表示稳定性较高,解码具有极小模块尺寸的数据代码的可能性增加。此外,在此情况下,也应相应地调整最小模块尺寸。将 “适用于小尺寸模块” 参数设置为 1 会显著提高工具的内存占用率。因此,默认设置为 0,表示稳定性低。
|
值 |
描述 |
|---|---|
|
0 |
这是默认设置。小型模块需要低稳定性时使用此设置。 |
|
1 |
小型模块需要高稳定性时使用此设置。此设置会增加内存使用量。 |
符合标准:
此参数控制工具的行为,当读取的符号不符合参数 “最小模块尺寸” 和 “最大模块尺寸” 中定义的尺寸的模型限制时。默认情况下,此参数设置为 0。
|
值 |
描述 |
|---|---|
|
0 |
代码不符合标准:所有符号都作为结果返回,无论其尺寸和模块中指定的尺寸如何。 |
|
1 |
代码符合标准:拒绝所有不符合标准限制的其他符号。 |
可用静止区:
此参数在检测可以读取但在其静止区显示缺陷的符号时控制工具的行为。默认情况下,此参数设置为 0。
|
值 |
描述 |
|---|---|
|
0 |
所有可读代码都作为结果返回,即使其静止区显示缺陷。 |
|
1 |
仅读取静止区已确认的代码。静止区级别低的符号不会作为结果返回。 |
最低码版本:
此参数控制着根据 QR 码标准,链接到行数和列数的最低码版本。版本号越高,符号越大。“最低码版本” 仅在 “符合标准” 设置为 1 时适用。因此,如果“符合标准”设置为 0,则该参数不适用并显示为灰色。
- “QR 码”模块数:4 × 版本号 + 每边 17 个点,即版本 1 为 21 × 21 个模块,...版本 40 为 177 × 177 个模块。较早的模型 1 符号的最大尺寸为版本 14,即 73 × 73 个模块。
- “Micro QR 码”模块数:2 × 版本号 + 每边 9 个点,即版本 M1 为 11 × 11 个模块,...版本 M4 为 17 × 17 个模块。
|
QR 码的值 |
Micro QR 码的值 |
描述 |
|---|---|---|
|
1 |
1 |
这是默认的最低代码版本。可读取所有代码。 |
|
1 - 40 |
1 - 4 |
这是可用于设定最低代码版本的取值范围。 |
最高码版本:
此参数定义根据 QR 码标准,链接到行数和列数的最高码版本。版本号越高,符号越大。“最高码版本” 仅在 “符合标准” 设置为 1 时适用。因此,如果“符合标准”设置为 0,则该参数不适用并显示为灰色。
- “QR 码”模块数:4 × 版本号 + 每边 17 个点,即版本 1 为 21 × 21 个模块,...版本 40 为 177 × 177 个模块。较早的模型 1 符号的最大尺寸为版本 14,即 73 × 73 个模块。
- “Micro QR 码”模块数:2 × 版本号 + 每边 9 个点,即版本 M1 为 11 × 11 个模块,...版本 M4 为 17 × 17 个模块。
|
QR 码的值 |
Micro QR 码的值 |
描述 |
|---|---|---|
|
40 |
4 |
这是默认的最高代码版本。可读取所有代码。 |
|
1 - 40 |
1 - 4 |
这是可用于设定最高代码版本的取值范围。 |
编码:
该参数定义了读取 QR 码时采用何种编码。默认值表示采用“UTF-8”作为编码类型。如果您要读取包含特殊字符的 QR 码,例如 Asian QR 码,则必须将编码更改为相应类型。
展开下表,查看支持的编码类型列表。
|
编码类型 |
|---|
|
默认 (UTF-8) |
|
原生 (系统的编码) |
|
Big5 |
|
Big5-HKSCS |
|
CP949 |
|
EUC-JP |
|
EUC-KR |
|
GB18030 |
|
HP-ROMAN8 |
|
IBM 850 |
|
IBM 866 |
|
IBM 874 |
|
ISO 2022-JP |
|
ISO 8859-1 |
|
ISO 8859-2 |
|
ISO 8859-3 |
|
ISO 8859-4 |
|
ISO 8859-5 |
|
ISO 8859-6 |
|
ISO 8859-7 |
|
ISO 8859-8 |
|
ISO 8859-9 |
|
ISO 8859-10 |
|
ISO 8859-13 |
|
ISO 8859-14 |
|
ISO 8859-15 |
|
Iscii-Bng |
|
Iscii-Dev |
|
Iscii-Gjr |
|
Iscii-Knd |
|
Iscii-Mlm |
|
Iscii-Ori |
|
Iscii-Pnj |
|
Iscii-Tlg |
|
Iscii-Tml |
|
KOI8-R |
|
KOI8-U |
|
Macintosh |
|
Shift-JIS |
|
TIS-620 |
|
TSCII |
|
UTF-8 |
|
UTF-16 |
|
UTF-16BE |
|
UTF-16LE |
|
UTF-32 |
|
UTF-32BE |
|
UTF-32LE |
|
Windows-1250 |
|
Windows-1251 |
|
Windows-1252 |
|
Windows-1253 |
|
Windows-1254 |
|
Windows-1255 |
|
Windows-1256 |
|
Windows-1257 |
|
Windows-1258 |
打印质量:
此参数定义是否评估打印质量以及基于哪种验证标准。默认设置为“无”。
|
值 |
描述 |
|---|---|
|
无 |
已禁用打印质量评估。 |
|
ISO/IEC 15415 |
基于验证标准 ISO/IEC 15415 评估打印质量。 |
|
ISO/IEC TR 29158 (AIM DPM-1-2006) |
基于验证标准 ISO/IEC TR 29158 (AIM DPM-1-2006) 评估打印质量。 |
变形容差
此参数定义用于变形 QR 码的搜索容差。默认设置为“低”。
|
值 |
描述 |
|---|---|
|
弯曲的 |
如果 QR 码可能弯曲或轻微变形,使用此值。选择此值时,MERLIC 会补偿 QR 码的弯曲和轻微变形。 值“弯曲的”对“Micro QR 码”不可用。此外,选择“弯曲的”时,参数“打印质量”会被禁用。 |
|
低 |
如果 QR 码没有弯曲或变形,使用此值。选择此值时,不会对任何弯曲进行补偿。 |
结果
基本结果
已解码的数据:
此结果是带已解码的数据的字符串。如果读取多个代码,结果将以元组形式返回。元组条目根据其在图像中显示的“行”值和“列”值进行排序。因此,如果读取多行,第一行的已解码数据会首先返回,然后返回第二行的数据,以此类推。如果一行内有多个代码,则会从左至右返回数据,直到处理下一行,例如文本。
将鼠标指针移到图像中的代码上也会显示特定代码的解码数据。这样,您可以直接在图像中快速检查代码。
工具状态:
“工具状态”返回有关工具状态的信息,因此可用于处理错误。请参阅主题工具状态结果,了解关于不同工具状态结果的更多信息。
其他结果
已提取的轮廓:
此结果是检测到的数据代码的轮廓。
打印质量值:
此结果返回所选验证标准的打印质量特征评估值。这些值作为元组返回,并根据“打印质量特征”结果中打印质量特征的标签顺序进行排序。因此,元组中的第一个值表示“打印质量特征”结果中返回的第一个特征的打印质量值。第二个值表示第二个特征,依此类推。最大可能值为 4。对于打印质量太低的 打印质量特征,返回值 0。如果没有选择验证标准,也就是说,如果“打印质量”设置为“无”,则此结果将返回一个空元组。
打印质量特征:
此结果返回针对所选验证标准评估的打印质量特征的标签。支持的验证标准的特征列表是预定义的,在处理过程中不会更改。它们以字符串元组的形式返回。为每个特征返回的元组值对应于“打印质量值”结果中具有相同索引的单个值。如果没有选择验证标准,也就是说,如果“打印质量”设置为“无”,则此结果将返回一个空列表。
处理时间:
此结果返回最近一次执行工具的持续时间(以毫秒为单位)。该结果作为附加结果提供。因此,默认情况下它是隐藏的,但是可以通过工具结果旁边的 按钮显示。有关更多信息,处理时间请参工具参考中所阅部分。
训练结果
基本训练结果
预期代码数量输出:
此结果返回用于以下参数的值: 预期代码数量。它定义了图像中存在的代码的预期数量。
其他训练结果
对比度容差输出:
此结果返回用于以下参数的值: 对比度容差。它描述有关局部对比度变化的搜索容差。
变形容差输出:
此结果返回用于以下参数的值:变形容差。
最小对比度输出:
由于相应的工具参数“最小对比度”已停用,因此不再确定该结果。保留它只是出于兼容性的考虑。结果可能仍然会显示一个值,但这个值应该被忽略,因为它没有任何意义。
镜像码输出:
此结果返回用于以下参数的值: 镜像码。它描述符号是否可以制作镜像,等同于交换符号的行和列。
最大间隔宽度输出:
此结果返回用于以下参数的值: 最大间隔宽度。
最小间隔宽度输出:
此结果返回用于以下参数的值: 最小间隔宽度。
最大模块尺寸输出:
此结果返回用于以下参数的值: 最大模块尺寸。它表示符号模块的最大尺寸。
最小模块尺寸输出:
此结果返回用于以下参数的值: 最小模块尺寸它表示图像中模块的最小尺寸。
码属性输出:
此结果返回用于以下参数的值: 码属性。它确定符号是在亮背景上显示暗色还是在暗背景上显示亮色。
最小位置图案数量输出:
此结果返回用于以下参数的值: 最小位置图案数量。它表示位置检测图案的数量,这些检测图案必须可见,才能生成新的候选符号。
适用于小尺寸模块输出:
此结果返回用于以下参数的值: 适用于小尺寸模块。它定义具有极小模块尺寸的数据代码的解码稳定性。
符合标准输出:
此结果返回用于以下参数的值: 符合标准。它在读取尺寸不符合模式限制的符号时控制工具的行为。
可用静止区输出:
此结果返回用于以下参数的值: 可用静止区。它在检测可以读取但在其静止区显示缺陷的符号时控制工具的行为。
最高码版本输出:
此结果返回用于以下参数的值: 最高码版本。它定义了最高符号版本。
最低码版本输出:
此结果返回用于以下参数的值: 最低码版本。它定义了最高符号版本。