本技术涉及图像识别,尤其涉及一种低信噪比条码解码方法、装置、设备及存储介质。
背景技术:
1、随着社会的进步,条码的应用日趋广泛。在实际应用中,存在较多低对比度的条码图像,当这些低对比度条码图像叠加系统噪声时,往往导致条码图像的信噪比极低,甚至出现噪声水平大于条码自身的对比度的情况。对于上述低信噪比条码图像,现有的条码识别算法难以直接完成对该类条码的识别,需要先对条码图像进行全图整体滤波处理,然后再进行解码,而在进行图像全图降噪滤波处理时,不可避免的导致了条码图像质量的退化问题,影响了对条码的解码结果。
2、因此,如何在不破坏条码图像的质量的情况下,完成对低信噪比条码的解码为本领域技术人员亟需解决的问题。
技术实现思路
1、针对上述问题,本技术提供了一种低信噪比条码解码方法及装置,包括以下内容:
2、第一方面,本技术提供了一种低信噪比条码解码方法,该方法包括:
3、获取目标条码图像,所述目标条码图像为一维条码图像或者二维条码图像;
4、按照预设步长对所述目标条码图像进行扫描,得到扫描线,根据所述扫描线得到一维扫描数据,所述扫描线在水平方向上垂直于所述条码的条方向;
5、对所述一维扫描数据进行小尺度滤波,所述小尺度滤波的尺度小于所述条码的尺度;
6、根据滤波后的所述一维扫描数据对应的条码确定定位符以及定位符候选区;
7、在所述定位符候选区内进行条码解码。
8、可选的,当所述目标条码图像为一维条码图像时,确定定位符候选区包括:
9、获取待识别条码的定位符模板序列;
10、在所述定位符模板序列上获取扫描线上的边界点;
11、根据所述边界点获取所述条码的条空序列;
12、将条空序列作为待匹配序列;
13、在所述待匹配序列中搜索与所述定位符模板序列一致的序列;若搜索成功,则与所述定位符模板序列一致的序列的起始边界点和结束边界点为所述定位符候选区。
14、可选的,所述小尺寸滤波是基于一维小半径模板的一维数据滤波,滤波算法为中值滤波算法、均值滤波算法或高斯滤波算法。
15、可选的,当所述目标条码图像为一维条码图像时,所述在所述定位符候选区内进行条码解码包括:
16、获取一维条码图像中的定位符,基于所述定位符的特征确定滤波模板的半径;
17、获取一维条码的条码方向和模块大小,基于所述一维条码的条码方向和所述模块大小构建滤波模板,所述一维条码的条码方向是基于一维条码的定位符的边界跟踪获取得到的,所述一维条码的模块大小根据匹配成功的条空序列计算获取得到的,所述模块大小等于所述定位符宽度除以定位符的总模块数;
18、利用所述滤波模板对所述一维条码的第i个码字进行滤波;
19、对滤波后的所述第i个码字进行解码;
20、判断所述第i个码字是否为结束符,若所述第i个码字是结束符,则完成解码进行码字序列校验并输出;若所述第i个码字不是结束符,则对第i+1个码字进行解码。
21、可选的,当所述目标条码图像为二维条码图像时,确定定位符候选区包括:
22、基于二维条码的特征获取定位符;
23、获取所述二维条码的条码方向和模块大小;
24、基于所述二维条码的模块大小确定定位符候选区。
25、可选的,当所述目标条码图像为二维条码图像时,所述在所述定位符候选区内进行条码解码包括:
26、对所述定位符的区域进行降噪滤波处理,基于所述进行滤波处理后的区域,完成对所述二维条码的定位符定位;
27、确定辅助定位符的坐标,对所述辅助定位符所在的局部区域进行滤波;
28、基于所述辅助定位符的位置完成条码网格采样;
29、对所述条码网格采样得到的数据进行二值化处理;
30、对进行所述二值化处理后的数据进行解码。
31、第二方面,本技术提供了一种低信噪比条码解码装置,该装置包括:
32、获取单元,获取目标条码图像,所述目标条码图像为一维条码图像或者二维条码图像;
33、扫描单元,用于按照预设步长对所述目标条码图像进行扫描,得到扫描线,根据所述扫描线得到一维扫描数据,所述扫描线在水平方向上垂直于所述条码的条方向;
34、处理单元,用于对所述一维扫描数据进行小尺度滤波,所述小尺度滤波的尺度小于所述条码的尺度;
35、还用于根据滤波后的所述一维扫描数据对应的条码确定定位符以及定位符候选区;
36、解码单元,用于在所述定位符候选区内进行条码解码。
37、可选的,当所述目标条码图像为一维条码图像时,所述处理单元具体用于:
38、获取待识别条码的定位符模板序列;
39、在所述定位符模板序列上获取扫描线上的边界点;
40、根据所述边界点获取所述条码的条空序列;
41、将条空序列作为待匹配序列;
42、在所述待匹配序列中搜索与所述定位符模板序列一致的序列;若搜索成功,则与所述定位符模板序列一致的序列的起始边界点和结束边界点为所述定位符候选区。
43、可选的,所述小尺寸滤波是基于一维小半径模板的一维数据滤波,滤波算法为中值滤波算法、均值滤波算法或高斯滤波算法。
44、可选的,当所述目标条码图像为一维条码图像时,所述解码单元具体用于:
45、获取一维条码图像中的定位符,基于所述定位符的特征确定滤波模板的半径;
46、获取一维条码的条码方向和模块大小,基于所述一维条码的条码方向和所述模块大小构建滤波模板,所述一维条码的条码方向是基于一维条码的定位符的边界跟踪获取得到的,所述一维条码的模块大小根据匹配成功的条空序列计算获取得到的,所述模块大小等于所述定位符宽度除以定位符的总模块数;
47、利用所述滤波模板对所述一维条码的第i个码字进行滤波;
48、对滤波后的所述第i个码字进行解码;
49、判断所述第i个码字是否为结束符,若所述第i个码字是结束符,则完成解码进行码字序列校验并输出;若所述第i个码字不是结束符,则对第i+1个码字进行解码。
50、可选的,当所述目标条码图像为一维条码图像时,所述处理单元具体用于:
51、基于二维条码的特征获取定位符;
52、获取所述二维条码的条码方向和模块大小;
53、基于所述二维条码的模块大小确定定位符候选区。
54、当所述目标条码图像为二维条码图像时,所述解码单元具体用于:
55、对所述定位符的区域进行降噪滤波处理,基于所述进行滤波处理后的区域,完成对所述二维条码的定位符定位;
56、确定辅助定位符的坐标,对所述辅助定位符所在的局部区域进行滤波;
57、基于所述辅助定位符的位置完成条码网格采样;
58、对所述条码网格采样得到的数据进行二值化处理;
59、对进行所述二值化处理后的数据进行解码。
60、第三方面,本技术提供了一种设备,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行前述第一方面任一项所述的低信噪比条码解码方法。
61、第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现前述第一方面任一项所述的低信噪比条码解码方法。
62、本技术提供了一种低信噪比条码解码方法。在执行所述方法时,先获取目标条码图像,所述目标条码图像为一维条码图像或者二维条码图像,然后按照预设步长对所述目标条码图像进行扫描,得到扫描线,根据所述扫描线得到一维扫描数据,所述扫描线在水平方向上垂直于所述条码的条方向,再对所述一维扫描数据进行小尺度滤波,所述小尺度滤波的尺度小于所述条码的尺度,根据滤波后的所述一维扫描数据对应的条码确定定位符以及定位符候选区,最后在所述定位符候选区内进行条码解码。如此,通过对目标图像先进行小尺度局部滤波处理,再进行后续的解码处理,不仅降低了图片中的噪声,而且尽可能的减少了对低信噪比图片的质量影响,实现了在不破坏条码图像的质量的情况下,完成对低信噪比条码的解码。