| Developers' Corner

条形码阅读器新的亚像素功能介绍

您是否需要读取分辨率较低的条形码,但是结果并不理想?那么请尝试我们的新功能 - 亚像素条形码读取器。

打开/关闭新功能时的性能比较
打开/关闭新功能时的性能比较
不同旋转角度的性能比较

亚像素条形码读取器现在可以更稳定地解码元素尺寸极小(<1.3 像素)的条形码。它甚至能够读取元素尺寸小于一个像素的条形码。

我们来看看我们的示例脚本 barcode_small_elements_robustness.hdev 有什么效果,您可以在 %HALCONEXAMPLES% \hdevelop\Identification\Bar-Code 的 HALCON 安装中找到 HALCON 20.05  Progress 和 HALCON 20.11 Steady。

性能与像素尺寸

要激活此功能,必须将参数“small_elements_robustness”设置为默认值“true”。另外,“element_size_min”的值必须设置为小于 2.0(通过 set_bar_code_param,此功能的值可设为 0.6 到 2.0 之间)。 

如果光学条件良好(相对于条形码只有少量模糊和轻微旋转),可以稳定地读取元素尺寸小于一个像素的条形码。图 1 所示为使用和不使用新功能读取元素尺寸为 0.69 像素的条形码。

性能与旋转角度

新功能多执行了一个解码算法,该算法专用于小尺寸元素,并且适用于无遮挡的(非堆叠)代码。对于此算法,将相机传感器相对于条形码轻微旋转(例如 7° 左右)为宜。这样做很重要,因为在如此之低的分辨率下,只有旋转后,条形码信息才能包含到感知图像的多个行/列中。

总体建议

由于读取如此小的条形码确实非常困难,因此必须牢记以下几个先决条件:

采集要求:

  • 利用旋转的优势:通过旋转可在图像中包含更多信息。
  • 避免模糊:建议图像尽可能聚焦,特别是对于分辨率很低的代码。

图像要求:

  • 使用字节图像。
  • 确保条形码高于 30 像素。
  • 避免遮挡小型条形码,以便亚像素功能正常工作。

其他说明:

  • 请不要对图像进行预处理,例如增强、缩放和旋转。
  • 我们新推出的亚像素功能尚不适用于堆叠/复合代码。
  • PQI 仍然有效,但是会导致 0/F 级故障。