一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一维码识别方法、装置、计算机设备及存储介质与流程

2022-11-13 12:47:40 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种一维码识别方法、装置、计算机设备及存储介质。


背景技术:

2.交叉二五码是一维码(条码)的一种码制,主要使用交错相间的黑条(条)和白条(空)表示0-9的数字字符。由于黑条与白条均表示信息,没有条码字符间隔,是一种连续型条码。由于交错二五码自身的防错机制比较薄弱,而且黑条和白条均可以表示信息,因此在实际应用中有一些黑白条相间的非条码区域或者其他码制的条码,很容易被错解成交叉二五码。


技术实现要素:

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.在一些实施例中,黑条区域或白条区域的宽度的获取过程包括:
46.对目标图像进行线扫描,得到逐行的像素数据;
47.根据逐行的像素数据,确定目标图像包括的每个黑条区域和每个白条区域的宽度。
48.在一些实施例中,在获取目标图像方面,获取模块具体用于:
49.获取待识别图像;
50.对待识别图像进行目标定位,得到定位图像;
51.截取定位图像预设长度范围的图像,得到目标图像。
52.第三方面,本技术实施例提供了一种计算机设备,计算机设备包括存储器以及处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面的一维码识别方法。
53.第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面的一维码识别方法。
54.第五方面,本技术实施提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述第一方面的一维码质量评估方法的步骤。
55.由此可见,本技术实施例具有如下有益效果:
56.在本技术实施例中,首先获取目标图像,该目标图像包括多个黑条区域和多个白条区域,然后将目标图像划分为多个分组,每个分组包括预设数量的黑条区域或白条区域;针对任一分组,基于该分组中黑条区域或白条区域的宽度,确定该分组所对应的宽窄比,从而可以确定每个分组对应的宽窄比。当上述多个宽窄比符合预设条件时,可以确定目标图像包含交叉二五码。通过本技术实施例提供的方法,可以提高识别交叉二五码的准确性。
附图说明
57.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图仅仅是本技术中提供的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
58.图1为本技术实施例提供的一种交叉二五码的示意图;
59.图2为本技术实施例提供的一种一维码识别方法的流程图;
60.图3为本技术实施例提供的一种一维码识别装置的示意图;
61.图4为本技术实施例提供的一种计算机设备的示意图;
62.图5为本技术实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
63.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述,所描述的实施例仅为本技术示例性的实施方式,并非全部实现方式。本领域技术人员可以结合本技术的实施例,在不进行创造性劳动的情况下,获得其他的实施例,而这些实施例也在本技术的保护范围之内。
64.为便于理解本技术的技术方案,下面首先将本技术所涉及的技术背景进行介绍。
65.交叉二五码是一维码的一种码制,主要使用交错相间的黑条(条)和白条(空)表示0-9的数字字符。由于黑条与白条均表示信息,没有条码字符间隔,是一种连续型条码。交叉二五条码包括起始符、数据符、终止符,起始符包括两个窄条和两个窄空,终止符包括一个宽条、一个窄条和一个窄空。每一个数据符(字符)由5个条码组成,其中两个为宽码(表示二进制的“1”),三个为窄码(表示二进制的“0”),根据5个条码所对应的二进制确定字符。字符从左到右,表示奇数位的字符由条(黑条)组成,表示偶数位的字符由空(白条)组成。如图1所示,为本技术实施例提供的一种交叉二五码的示意图。最左侧为起始符,最右侧为终止符。由图1可知,第一个字符101对应的5个黑条所表示的二进制为“00110”,表示字符0;第二个字符102对应的5个白条所表示的二进制为“01001”,表示字符2;第三个字符103对应的5个黑条所表示的二进制为“10100”,表示字符5;第四个字符104对应的5个白条所表示的二进制为“10001”,表示字符1。
66.由于交错二五码自身的防错机制比较薄弱,而且黑条和白条均可以表示信息,因此在实际应用中有一些黑白条相间的非条码区域或者其他码制的条码,很容易被错解成交叉二五码。
67.基于此,本技术实施例提供了一种一维码识别方法,以便提高识别交叉二五码的准确性。具体实现时,首先获取目标图像,该目标图像包括多个黑条区域和多个白条区域,然后将目标图像划分为多个分组,每个分组包括预设数量的黑条区域或白条区域;针对任一分组,基于该分组中黑条区域或白条区域的宽度,确定该分组所对应的宽窄比,从而可以确定每个分组对应的宽窄比。当上述多个宽窄比符合预设条件时,可以确定目标图像包含交叉二五码。下面将结合附图对本技术实施例所提供的一维码识别方法进行介绍。
68.参见图2,图2为本技术实施例提供的一种一维码识别方法的流程图。
69.其中,该方法可以由计算机设备执行,该计算机设备可以获取待识别的目标图像,并对目标图像进行处理,确定该目标图像是否为交叉二五码。该方法可以包括以下步骤:
70.s201:获取目标图像;其中,该目标图像包括多个黑条区域和多个白条区域。
71.在识别是否为一维码时,首先需要获取目标图像;其中,该目标图像包括多个黑条区域和多个白条区域。也就是,该目标图像与交叉二五码从表面上看比较相似。该目标图像可能为其他码制的条码,也可能为非条码,比如,具有黑白相间条纹的图形。
72.在一些实施例中,可以通过以下方式获取目标图像,首先由计算机设备采集获取待识别图像,例如通过相机拍摄获取待识别图像等;其中,该待识别图像中包括多个黑条区域和多个白条区域,还可以包括其他不具有黑白条的区域。然后对待识别图像进行目标定
位,得到定位图像。也就是,在待识别图像中定位获取与交叉二五码相似的目标区域,即具有黑条区域和白条区域的图像。其中,目标定位可以通过神经网络模型实现。该神经网络模型可以为预先训练好并存储在计算机设备中的,该神经网络模型的训练过程可以包括:首先获取多个具有黑白条纹目标区域的图像,并对其中的目标区域进行标定,作为训练神经网络模型的训练样本。将标定过的图像输入神经网络模型,循环迭代训练神经网络模型,直至神经网络模型可以准确识别出黑白条纹的目标区域并进行定位,获取目标区域的图像,排除非目标区域的图像,从而得到训练好的神经网络模型。然后待识别图像输入训练好的神经网络模型中,即可以获取包括黑条区域和白条区域的定位图像。根据上述实施例可知,由于在交叉二五码中包括起始符、数据符和终止符,起始符包括两个窄的黑条和两个窄的白条,终止符包括一个宽的黑条、一个窄的黑条和一个窄的白条,并且起始符、终止符与数据符具有不同的宽窄比特性,为了进一步提高识别交叉二五码的准确性,可以截取定位图像在预设长度范围的图像为目标图像。例如,在定位图像的起始位置排除两个黑条和两个白条的图像,在定位图像的终止位置排除两个黑条和一个白条的图像,从而可以根据剩余预设长度范围的图像识别是否为交叉二五码。
73.s202:将目标图像划分为多个分组,多个分组中的每个分组均包括预设数量的黑条区域或白条区域。
74.由于交叉二五码中每个数据符均包括5个黑条区域或者5个白条区域,因此计算机设备在将目标图像进行分组时,需要保证每个分组中包括相同预设数量的黑条区域或白条区域。一种可能的实现方式为,在进行分组时,可以确定每个分组中包括5个黑条区域或者5个白条区域,也就是,每个分组的划分方式为选取间隔最近的5个黑条区域或者选取间隔最近的5个白条区域。
75.s203:针对任一分组,基于该分组中黑条区域或白条区域的宽度,确定该分组所对应的宽窄比。
76.具体实现时,可以利用线扫描方法获取目标图像中黑条区域和白条区域的宽度。例如,可以利用线扫描相机采集目标图像,由于线扫描相机通过逐个线条采集像素,所以可以得到目标图像逐行的像素数据。线扫描相机可以将获得的逐行的像素数据发送给计算机设备,然后由计算机设备基于所获得的逐行的像素数据,确定目标图像包括的每个黑条区域和每个白条区域的宽度,从而可以基于该分组中黑条区域或白条区域的宽度,确定该分组所对应的宽窄比。
77.当确定宽窄比时,一种可能的实现方式为,当该分组中包括预设数量的黑条区域时,在该分组中,确定宽度大于或等于第四阈值的黑条区域为粗宽度区域,其余宽度小于第四阈值的黑条区域为窄宽度区域,然后基于所有粗宽度区域的宽度之和以及所有窄宽度区域的宽度之和,确定该分组所对应的宽窄比。例如,可以将该分组中所有粗宽度区域的宽度之和与所有窄宽度区域的宽度之和的比值确定为宽窄比。同理,当该分组中包括预设数量的白条区域时,确定宽度大于或等于第四阈值的白条区域为粗宽度区域,其余宽度小于第四阈值的白条区域为窄宽度区域,然后基于所有粗宽度区域的宽度之和以及所有窄宽度区域的宽度之和确定宽窄比。
78.此外,为了进一步提高识别交叉二五码的准确性,本实施还提供一种可能的实现方式,计算机设备可以获取该分组中包括粗宽度区域的个数,然后基于该分组中所有粗宽
度区域的宽度之和以及粗宽度区域个数的比值,确定粗宽度区域的平均宽度。同理,也可以获取该分组中包括窄宽度区域的个数,基于该分组中所有窄宽度区域的宽度之和以及窄宽度区域个数的比值,确定窄宽度区域的平均宽度。然后计算粗宽度区域的平均宽度与窄宽度区域的平均宽度的比值,粗宽度区域的平均宽度与窄宽度区域的平均宽度的比值为该分组所对应的宽窄比。
79.需要说明的是,上述实施例所提供的确定宽窄比的实现方式仅为示例性的说明,并非仅限于上述实现方式,其他可实现的方案也在本技术的保护范围内。
80.s204:当多个宽窄比符合预设条件时,确定目标图像包含交叉二五码。
81.在上述实施例中,针对任一分组,可以确定该分组所对应的宽窄比,从而可以确定每个分组所对应的宽窄比。当上述所有分组的宽窄比符合预设条件时,可以确定目标图像包含交叉二五码。具体地,可以确定多个宽窄比中的最大宽窄比和最小宽窄比,也就是,基于每个分组所对应的宽窄比,确定最大宽窄比和最小宽窄比。当最大宽窄比与最小宽窄比的比值小于第一阈值,以及多个宽窄比中的每个宽窄比均大于大二阈值且小于第三阈值时,可以确定目标图像包含交叉二五码。理论上,交叉二五码中每个字符所对应的宽窄比为相同的,考虑到外界因素的影响,实际生产的交叉二五码中每个字符的宽窄比可能有误差,所以可以基于最大宽窄比与最小宽窄比之间的比值确定误差,当该比值小于第一阈值时,可以识别目标图像为交叉二五码。并且,当每个分组所对应的宽窄比过大或者过小时,也可以确定目标图像不是交叉二五码。
82.通过本技术实施例所提供的一维码识别方法,可以识别目标图像是否为交叉二五码,提高识别交叉二五码的准确性。
83.基于上述方法实施例,本技术实施例还提供一种一维码识别装置。参见图3,图3为本技术实施例提供的一种一维码识别装置的示意图,该装置300包括:
84.获取模块301,用于获取目标图像,目标图像包括多个黑条区域和多个白条区域;
85.划分模块302,用于将目标图像划分为多个分组,多个分组中的每个分组均包括预设数量的黑条区域或白条区域;
86.第一确定模块303,用于针对任一分组,基于分组中黑条区域或白条区域的宽度,确定分组所对应的宽窄比;
87.第二确定模块304,用于当多个宽窄比符合预设条件时,确定目标图像包含交叉二五码。
88.在一些实施例中,在当多个宽窄比符合预设条件时,在确定目标图像包含交叉二五码方面,第二确定模块304具体用于:
89.确定多个宽窄比中的最大宽窄比和最小宽窄比;
90.当最大宽窄比与最小宽窄比的比值小于第一阈值,以及多个宽窄比中的每个宽窄比均大于第二阈值且小于第三阈值时,确定目标图像包含交叉二五码。
91.在一些实施例中,在基于分组中黑条区域或白条区域的宽度,确定分组所对应的宽窄比方面,第一确定模块303具体用于:
92.基于分组中黑条区域或白条区域的宽度,确定大于或等于第四阈值的一个或多个粗宽度区域以及小于第四阈值的一个或多个窄宽度区域,粗宽度区域和窄宽度区域为黑条区域或白条区域;
93.基于粗宽度区域的宽度之和以及窄宽度区域的宽度之和,确定分组所对应的宽窄比。
94.在一些实施例中,在基于粗宽度区域的宽度之和以及窄宽度区域的宽度之和,确定分组所对应的宽窄比方面,第一确定模块303具体用于:
95.根据粗宽度区域的宽度之和以及分组中粗宽度区域的个数,确定粗宽度区域的平均宽度;
96.根据窄宽度区域的宽度之和以及分组中窄宽度区域的个数,确定窄宽度区域的平均宽度;
97.计算粗宽度区域的平均宽度与窄宽度区域的平均宽度的比值,粗宽度区域的平均宽度与窄宽度区域的平均宽度的比值为分组所对应的宽窄比。
98.在一些实施例中,在基于粗宽度区域的宽度之和以及窄宽度区域的宽度之和,确定分组所对应的宽窄比方面,第一确定模块303具体用于:
99.计算粗宽度区域的宽度之和与窄宽度区域的宽度之和的比值,粗宽度区域的宽度之和与窄宽度区域的宽度之和的比值为分组所对应的宽窄比。
100.在一些实施例中,黑条区域或和白条区域的宽度的获取过程包括:
101.对目标图像进行线扫描,得到逐行的像素数据;
102.根据逐行的像素数据,确定目标图像包括的每个黑条区域和每个白条区域的宽度。
103.在一些实施例中,获取模块301具体用于:
104.获取待识别图像;
105.对待识别图像进行目标定位,得到定位图像;
106.截取定位图像预设长度范围的图像,得到目标图像。
107.本技术实施例提供的一维码识别装置所具有的有益效果可参见上述方法实施例,在此不再赘述。
108.基于上述方法实施例和装置实施例,本技术实施例还提供一种计算机设备。参见图4,图4为本技术实施例提供的一种计算机设备的示意图,该计算机设备400包括存储器401以及处理器402,存储器401存储有计算机程序,处理器402执行计算机程序时实现上述方法实施例的一维码识别方法。
109.此外,本技术实施例还提供一种计算机可读存储介质。参见图5,图5为本技术实施例提供的一种计算机可读存储介质的示意图,该计算机可读存储介质500存储有计算机程序501,计算机程序501被处理器执行时实现上述方法实施例的一维码识别方法。
110.需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。尤其,对于系统或装置实施例而言,由于其基本类似于方法实施例,所以描述得比较简单,相关部分参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元或模块可以是或者也可以不是物理上分开的,作为单元或模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上,可以根据实际需要选择其中的部分或者全部单元或模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
111.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
112.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
113.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
114.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献