一种轮廓式二维码解码方法、装置、设备及存储介质与流程

文档序号:34102790发布日期:2023-05-10 18:19阅读:26来源:国知局
一种轮廓式二维码解码方法、装置、设备及存储介质与流程

本技术涉及图像处理,尤其涉及一种轮廓式二维码解码方法、装置、设备及存储介质。


背景技术:

1、随着二维码技术的快速发展,二维码已经广泛应用在日常生活和工业生产过程中。印刷式二维码是日常生活常见的一种二维码,其主要特征为使用不同颜色的模块来记录数据。印刷式二维码的解码方式也是基于每个模块颜色的对比度不同,从而辨别每个模块的颜色属性完成对印刷式二维码的解码过程。

2、在工业生产中,二维码需要伴随产品的整个生命周期,为保证二维码的信息不会轻易损毁,产品上的二维码常通过激光雕刻、化学蚀刻等手段制成为轮廓式二维码。然而,轮廓式二维码只保留了矩阵式二维码模块的边缘轮廓,每个模块的颜色都与背景的颜色一致,导致现有的二维码技术无法直接根据模块的对比度判断模块的颜色属性完成解码的问题,亟需一种高效精准的轮廓式二维码解码方式。


技术实现思路

1、本技术提供了一种轮廓式二维码解码方法、装置、设备及存储介质,用以支持对轮廓式二维码的解码。

2、第一方面,本技术提供了一种轮廓式二维码解码方法,该方法包括:

3、根据二维码图像中每行像素点的灰度值的累加和,得到第一灰度投影向量,根据所述二维码图像中每列像素点的灰度值的累加和,得到第二灰度投影向量;

4、根据所述第一灰度投影向量中多个谷值的位置,确定所述二维码图像的多个水平分割线,根据所述第二灰度投影向量中多个谷值的位置,确定所述二维码图像的多个垂直分割线;

5、根据所述多个水平分割线和所述多个垂直分割线,将所述二维码图像划分为多个模块;

6、根据所述二维码图像的每个模块的每个边界线的边界灰度值,确定边界灰度值小于边界灰度阈值的边界线为轮廓线;

7、根据位于所述二维码图像中已知黑白属性的模块与未知黑白属性的模块之间的轮廓线的数量,确定所述二维码图像中未知黑白属性的模块的黑白属性;

8、根据所述二维码图像每个模块的黑白属性,对所述二维码图像解码。

9、进一步地,所述将所述二维码图像划分为多个模块之后,所述方法还包括:

10、根据所述多个水平分割线和所述多个垂直分割线以及二维码图像模块的行数和列数,确定所述二维码图像模块的平均高度和平均宽度;

11、根据所述二维码图像模块的平均高度和平均宽度,调整所述二维码图像每个模块的每个边界线。

12、进一步地,根据所述二维码图像模块的平均高度,调整所述二维码图像每个模块的每个边界线,包括:

13、将所述二维码图像每个模块的两个水平边界线之间的高度调整为所述二维码图像每个模块的平均高度,得到所述每个模块的期望水平边界线;

14、针对所述每个模块的每个期望水平边界线,根据以所述期望水平边界线为中心设定宽度水平框中每行像素点的灰度值的累加和,得到第三灰度投影向量,并根据所述第三灰度投影向量中最小值的位置,更新所述期望水平边界线。

15、进一步地,根据所述二维码图像模块的平均宽度,调整所述二维码图像每个模块的每个边界线,包括:

16、将所述二维码图像每个模块的两个垂直边界线之间的宽度调整为所述二维码图像每个模块的平均高度,得到所述每个模块的期望垂直边界线;

17、针对所述每个模块的每个期望垂直边界线,根据以所述期望垂直边界线为中心设定高度垂直框中每列像素点的灰度值的累加和,得到第四灰度投影向量,并根据所述第四灰度投影向量中最小值的位置,更新所述期望垂直边界线。

18、进一步地,所述方法还包括:

19、根据所述已知黑白属性的模块的边界灰度值更新所述边界灰度阈值。

20、进一步地,所述方法还包括:

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、本技术根据二维码图像的水平灰度投影向量以及垂直灰度投影向量中多个谷值的位置,将二维码图像划分成多个模块,并将二维码图像每个模块的每个边界线中边界灰度值小于边界灰度阈值的边界线确定为轮廓线,再根据已知黑白属性的模块与未知黑白属性的模块之间的轮廓线的数量,确定未知黑白属性的模块的黑白属性,得到二维码图像每个模块的黑白属性,从而完成对二维码图像的解码,解决无法直接根据模块的对比度判断模块的颜色属性完成解码的问题,增强轮廓线识别的鲁棒性,提高轮廓式二维码解码的精确性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1