亚像素条形码读取器现在可以更稳定地解码元素尺寸极小(<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 级故障。