条码识别

本节内容包含:

模块原理

通常一个完整的条码是由两侧静区、起始符、数据符、终止符组成的,以一维条码而言,其排列方式通常如下图所示。

图 1 条码组成

一维码识别算法是实现对一维码的译码过程。首先会对图像中的一维码进行预处理以保证识别条码质量,然后进行译码,并保证一定的容错率。

使用方法

条码识别模块用于定位和识别指定区域内的条码,容忍目标条码以任意角度旋转以及具有一定量角度倾斜,支持CODE39码、CODE128码、库得巴码、EAN码、交替25码以及CODE93码。该模块常应用于“物流读码” 、“商品贴标”及“零件喷码”等场景。

该模块无固定搭配使用模块,前序模块可以搭配仿射变换、形态学处理等图像处理模块对码成像做优化,然后输入到条码识别模块中进行读码,后序模块可以利用条码信息及位置进行定位、通信等处理。

参数配置

CODE39码/CODE128码/库得巴码/EAN码/交替25码/CODE93码

开启相应按钮可以识别该类型的码,当不确定码类型时,建议均开启。

条码个数

期望查找并输出的条码最大数量,若实际查找到的个数小于该参数,则输出实际数量的条码。

降采样系数

降采样也叫下采样,即是采样点数减少。对于一幅N*M的图像来说,如果降采样系数为k,则代表在原图中每行每列每隔k个点取一个点组成一幅图像。因此,下采样系数越大,轮廓点越稀疏,轮廓越不精细,该值不建议设置过大。

检测窗口大小

条码区域定位窗口大小。默认值4,当条码中空白间隔比较大时,可以设置得更大,比如5,但一般要保证条码高度大于窗口大小的6倍左右。

静区宽度

静区指条码左右两侧空白区域宽度,默认值30,稀疏时可尝试设置50。

去伪过滤尺寸

算法支持识别的最小条码宽度和最大条码宽度。

超时退出时间

算法运行时间超出该值,则直接退出。当设置为0时,以实际所需算法耗时为准,单位ms。

模块结果

该模块的模块结果介绍请见条码识别