用于条码图像的译码方法、装置和电子设备与流程

未命名 09-17 阅读:103 评论:0


1.本技术涉及智能识别技术领域,例如涉及一种用于条码图像的译码方法、装置和电子设备。


背景技术:

2.二维条码被广泛应用于消费领域。在该领域中,为了增加艺术效果、更好地促进商业推广等,用户倾向于在二维条码的几何中心位置添加定制图像,例如:标志(logo)等,该定制图像占据了二维条码的编码区域,导致二维条码数据区天然地存在数据错误,进而降低了常规算法对二维条码的识读能力。为了提高中心位置具有图像的二维条码的识读能力,相关技术通过纠错算法对二维条码形成的数据块进行纠错,从而实现对二维条码的译码。
3.在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:相关技术虽然能一定程度的实现中心位置具有图像的二维条码的识读,但是由于每个数据块的纠错能力具有上限值,且中心区域图像的覆盖区域难以确定,导致对于中心位置具有图像的二维条码的识读能力仍较差。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
6.本公开实施例提供了一种用于条码图像的译码方法、装置和电子设备,以提高中心区域具有干扰图像的条码图像的识别性能。
7.在一些实施例中,条码图像包括位于条码图像中心区域的干扰图像;用于条码图像的译码方法包括:将条码图像的数据块中的错误均标记为未知错误;其中,数据块的数量为1个或多个;确定干扰图像的初始测试区域;基于初始测试区域,按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误;将测试区域所包含的各个数据块中的未知错误转换为已知错误;对条码图像中转换后的各个数据块进行纠错。
8.可选地,按照如下方式确定条码图像的数据块:获得条码图像的比特流数据和纠错块数量;将条码图像的比特流数据按照纠错块数量转化为1个或多个数据块。
9.可选地,按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误,包括:按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误,直至测试区域为最大测试区域;其中,最大测试区域与条码图像的版本信息与纠错等级相关。
10.可选地,按照如下方式确定最大测试区域:获得条码图像的版本信息和纠错等级;
采集与条码图像的版本信息和纠错等级相同的完整无污损的对照条码图像;按照逐层扩大对照测试区域的方式设置对照测试区域中的错误为已知错误;对包含对照测试区域的对照条码图像进行译码;在对照条码图像译码失败的情况下,将对照条码图像译码失败时所对应的对照测试区域确定为最大测试区域。
11.可选地,设置对照测试区域中的错误为已知错误,包括:设置对照测试区域的初始值;基于对照测试区域的初始值和对照条码图像的中心逐层扩大的全黑或全白的对照测试区域,并设置对照测试区域中的错误为已知错误。
12.可选地,对条码图像的各个数据块进行纠错,包括:获得各个数据块中未知错误数量的实际值;确定各个数据块所对应的未知错误数量的上限值;在未知错误数量的实际值小于或等于未知错误数量的上限值的情况下,确定数据块纠错成功;在未知错误数量的实际值大于未知错误数量的上限值的情况下,确定数据块纠错失败。
13.可选地,确定各个数据块所对应的未知错误数量的上限值,包括按照如下公式计算各个数据块所对应的未知错误数量的上限值:r=(k-p)/2其中,r为各个数据块中未知错误数量的上限值,k为各个数据块的纠错能力上限值,p为各个数据块中已知错误数量。
14.可选地,译码方法还包括:在所有数据块均纠错成功的情况下,确定条码图像译码成功;在存在数据块纠错失败的情况下,确定条码图像译码失败。
15.在一些实施例中,用于条码图像的译码装置包括处理器和存储有程序指令的存储器,处理器被配置为在运行所述程序指令时,执行如上述的用于条码图像的译码方法。
16.在一些实施例中,电子设备包括:电子设备本体;和如上述的用于条码图像的译码装置,被安装于电子设备本体。
17.本公开实施例提供的用于条码图像的译码方法、用于条码图像的译码装置和电子设备,可以实现以下技术效果:针对于中心区域具有干扰图像的条码图像,通过逐层扩大的测试区域,依次确定各个数据块中包含在测试区域内的未知错误,并转换包含在测试区域内的未知错误为已知错误。由于纠错算法对已知错误的纠错能力大于对未知错误的纠错能力,因此,通过将包含在测试区域内的未知错误转换为已知错误,可以无需确定条码图像的干扰图像的实际区域面积,就能提高对各数据块的纠错能力,从而增强二维条码的污损支持能力,极大提升中心区覆盖图像的二维条码的识别性能。
18.以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本技术。
附图说明
19.一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:图1是一个条码图像的示意图。
20.图2是本公开实施例提供的一个中心区域具有干扰图像的条码图像的示意图。
21.图3是本公开实施例提供的一个用于条码图像的译码方法。
22.图4是本公开实施例提供的另一个用于条码图像的译码方法。
23.图5是本公开实施例提供的另一个用于条码图像的译码方法。
24.图6是本公开实施例提供的另一个用于条码图像的译码方法。
25.图7是本公开实施例提供的一个用于条码图像的译码装置。
具体实施方式
26.为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
27.本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
28.除非另有说明,术语“多个”表示两个或两个以上。
29.本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,a/b表示:a或b。
30.术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,a和/或b,表示:a或b,或,a和b这三种关系。
31.术语“对应”可以指的是一种关联关系或绑定关系,a与b相对应指的是a与b之间是一种关联关系或绑定关系。
32.本技术提供的一种用于条码图像的译码方法,该条码图像主要包括二维条码。二维条码又称二维码,常见的二维码为qrcode,qr全称quick response,译为快速响应。二维条码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。
33.结合图1所示,二维条码一般设置在一块二维的矩形区域中,包括编码区域。编码区域主要用于储存二维条码的规格信息和码字。规格信息可以包括格式信息和版本信息中的至少一种。规格信息的种类主要取决于二维条码的版本,不同版本的二维条码可以配置不同种类的规格信息。以规格信息包括格式信息和版本信息为例,格式信息和版本信息一般储存在如图1所示的矩形区域中。二维条码的版本信息可用于指示二维条码的尺寸(或二维条码的码元数量)。二维条码的格式信息一般用于储存一些格式化资料,如二维条码的纠错等级和遮罩信息。其中,二维条码的纠错等级一般包括l、m、q、h四个等级。
34.版本信息可直接通过如图1所示的二维条码的版本信息区域获取,格式信息可直接通过如图1所示中左上角格式信息区域获取,或者通过右上角与左下角格式信息区域联合获取。
35.结合图2所示,本技术提供的条码图像包括位于条码图像中心区域的干扰图像,其中干扰图像覆盖于条码图像中心区域,即干扰图像与条码图像为重叠状态,干扰图像的几
何中心与条码图像的几何中心重合。干扰图像举例来讲可以是logo,本技术以图2中的一个正方形的干扰图像举例说明。以qr码为例,由于该干扰图像覆盖于qr码上,导致qr码的部分数据丢失,从而降低了qr码的识别能力。因此,本公开实施例提供一种用于条码图像的译码方法,尽可能降低干扰图像带来的条码图像纠错能力下降所导致的条码图像译码性能下降的影响,提高了中心区域具有干扰图像的条码图像的识别性能。
36.结合图2所示的条码图像,本公开实施例提供一种用于条码图像的译码方法。其中,本技术提供的译码方法的执行主体可以为处理器。如图3所示,该译码方法包括:s301,处理器将条码图像的数据块中的错误均标记为未知错误。
37.其中,数据块的数量为1个或多个,数据块的数量与条码图像的版本信息与纠错等级相关。每个数据块中错误的类型包括已知错误和未知错误。
38.s302,处理器确定干扰图像的初始测试区域。
39.其中,初始测试区域设置为0,这样,可以保证在干扰图像的面积较小的情况下,准确的对条码图像的各个数据块进行纠错。
40.s303,处理器基于初始测试区域,按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误。
41.其中,设置逐层扩大的测试区域中的错误为已知错误。
42.在逐层扩大测试区域的过程中,每个数据块都有可能与逐层扩大的测试区域重合。在数据块与测试区域重合的情况下,数据块中的未知错误可能会落入到测试区域中,则这些位于测试区域的未知错误为测试区域中所包含的各个数据块的未知错误。
43.s304,处理器将测试区域所包含的各个数据块中的未知错误转换为已知错误。
44.s305,处理器对条码图像中转换后的各个数据块进行纠错。
45.其中,采用里德-所罗门(reed solomon,简称rs)码对每一个数据块进行纠错,从而实现对条码图像的译码。
46.在该实施例中,针对于中心区域具有干扰图像的条码图像,通过逐层扩大的测试区域,依次确定各个数据块中包含在测试区域内的未知错误,并转换包含在测试区域内的未知错误为已知错误。由于纠错算法对已知错误的纠错能力大于对未知错误的纠错能力,因此,通过将包含在测试区域内的未知错误转换为已知错误,可以无需确定干扰图像的实际覆盖面积,就能提高对各数据块的纠错能力,从而增强条码图像的污损支持能力,进而极大提升中心区域具有干扰图像的条码图像的识别性能。
47.可选地,处理器按照如下方式确定条码图像的数据块:处理器获得条码图像的比特流数据和纠错块数量。处理器将条码图像的比特流数据按照纠错块数量转化为1个或多个数据块。
48.其中,纠错块数量与条码图像的版本信息与纠错等级相关。示例性地,表1示出一种版本信息、纠错等级与纠错块数量的对应关系。
49.表1
50.可选地,处理器将条码图像的比特流数据按照纠错块数量转化为1个或多个数据块包括:处理器将条码图像的比特流数据转化为数量与纠错块数量相同的数据块,便于对条码图像译码。
51.可选地,处理器按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误包括:处理器按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误,直至测试区域为最大测试区域。
52.其中,最大测试区域与条码图像的版本信息与纠错等级相关。
53.在该实施例中,通过设置最大测试区域确定该版本中具有干扰图像的条码图像的译码临界值。在干扰图像的面积大于最大测试区域的面积的情况下,确定该条码图像译码会失败。因此,在最大测试区域范围内逐层扩大测试区域进行测试,进一步提高条码图像的译码效率。
54.可选地,按照如下方式确定最大测试区域:获得条码图像的版本信息和纠错等级。采集与条码图像的版本信息和纠错等级相同的完整无污损的对照条码图像。按照逐层扩大对照测试区域的方式设置对照测试区域中的错误为已知错误。对包含对照测试区域的对照条码图像进行译码。在对照条码图像译码失败的情况下,将对照条码图像译码失败时所对应的对照测试区域确定为最大测试区域。
55.可选地,设置对照测试区域中的错误为已知错误包括:设置对照测试区域的初始值。基于对照测试区域的初始值和对照条码图像的中心逐层扩大的全黑或全白的对照测试区域,并设置对照测试区域中的错误为已知错误。
56.示例性地,对照测试区域的初始值设置为0。
57.可选地,基于对照测试区域的初始值和对照条码图像的中心逐层扩大的全黑或全白的对照测试区域包括:设置对照测试区域和对照条码图像的中心重合,并在对照测试区域的初始值的基础上逐层扩大对照测试区域。
58.示例性地,如图4所示,对确定最大测试区域的步骤做具体说明:s401,获得条码图像的版本信息和纠错等级。
59.s402,采集与条码图像的版本信息和纠错等级相同的完整无污损的条码图像,作为对照条码图像。
60.s403,初始化对照测试区域的边长,使得q=0。
61.其中,q为对照测试区域的边长,q=0、1、2、
……

62.s404,将对照条码图像的q
×
q区域内数据设置为全黑或全白。
63.其中,对照条码图像与q
×
q区域的中心重合。
64.s405,将q
×
q区域内数据设置为已知错误,获得具有q
×
q对照测试区域的对照条码图像。
65.s406,对具有q
×
q对照测试区域的对照条码图像进行译码。
66.s407,判断对照条码图像是否译码成功?若是,进入s408;若否,进入s409。
67.s408,将q+1的值赋值给q,并返回s404步骤。
68.s409,确定译码失败所对应的q为该条码图像的最大测试区域的边长,并根据q计算出该条码图像的最大测试区域。
69.在该实施例中,由于对照条码图像为完整无污损的状态,因此该条码图像可以支持最大面积的干扰图像,即最大测试区域。这样,通过上述方式获得最大测试区域,预先对测试区域赋予一个临界值,使得测试区域在最大测试区域中逐层扩大,以缩短对条码图像的译码时长。
70.可选地,标记上述译码失败所对应的q为n。其中,n为最大测试区域的边长。获得多个不同版本信息、不同纠错等级的条码图像,按照上述确定最大测试区域的步骤依次获得多个版本信息、多个纠错等级的条码图像所对应的最大测试区域的边长n,建立n与条码图像的版本信息和纠错等级具有对应关系的查询表,通过查询的方式获得n。通过预先建立具有对应关系的查询表,可直接获得n的值,通过n的值直接获得最大测试区域的面积,不需要再重复操作确定最大测试区域的工作,减小工作量。
71.可选地,处理器对条码图像的各个数据块进行纠错包括:处理器获得各个数据块中未知错误数量的实际值。处理器确定各个数据块所对应的未知错误数量的上限值。处理器在未知错误数量的实际值小于或等于未知错误数量的上限值的情况下,确定数据块纠错成功。处理器在未知错误数量的实际值大于未知错误数量的上限值的情况下,确定数据块纠错失败。
72.在该实施例中,由于将各数据块中包含在测试区域的未知错误均转化为已知错误,使得该数据块中的未知错误的数量减少。由于所采用的rs纠错算法对已知错误的纠错能力优于未知错误的纠错能力,因此,在这种情况下,如果未知错误的数量能够减少到小于或等于该数据块所对应的未知错误数量的上限值,则可以确定该数据块能够纠错成功。
73.示例性地,如图5所示,对条码图像中转换后的各个数据块进行纠错的步骤做具体说明:s501,初始化i=0,n=0,标记所有数据块中的错误均为未知错误。
74.其中,i为数据块的序号,i=0、
……
、m-1,m为数据块的总数,n为条码图像的干扰图像的测试边长,n=0、
……
、n-1,n为条码图像的干扰图像的最大测试边长,n等于上述确定最大测试区域步骤中的译码失败所对应的q。
75.s502,计算条码图像的干扰图像的测试区域的面积n
×
n,并标记条码图像的干扰图像的测试区域中的错误为已知错误。
76.s503,对第i数据块进行纠错。
77.s504,判断第i数据块是否纠错成功?若是,进入s505;若否,进入s507。
78.s505,判断是否i<m?若是,进入s506;若否,结束。
79.s506,设置n=0,将i+1的值赋值给i,并返回s502步骤。
80.s507,判断是否n<n?若是,进入s508;若否,结束。
81.s508,将n+1的值赋值给n,并返回s502步骤。
82.在该实施例中,依次对每个数据块进行纠错。例如:首先设置测试区域面积为0,对第1个数据块进行纠错。在对第1个数据块纠错成功的情况下,如果数据块的数量为1个,则确定条码图像译码成功;如果数据块的数量为多个的情况下,继续对第2个数据块进行纠错
……
。在对第1个数据块纠错失败的情况下,扩大测试区域的面积为1,继续对第1个数据进行纠错,直到第1个数据块纠错成功
……

83.可选地,处理器确定各个数据块所对应的未知错误数量的上限值,包括按照如下公式计算各个数据块所对应的未知错误数量的上限值:r=(k-p)/2其中,r为各个数据块中未知错误数量的上限值,k为各个数据块的纠错能力上限值,p为各个数据块中已知错误数量。
84.各个数据块的纠错能力上限值与条码图像的版本信息和纠错等级相关。示例性地,表2示出一种版本信息、纠错等级与纠错能力上限值的对应关系。
85.表2
86.在该实施例中,在确定条码图像的版本信息和纠错等级的情况下,可通过上述方式获得该条码图像的每个数据块的纠错能力上限值,该纠错能力上限值限定了该数据块可支持纠错的未知错误数量和已知错误数量。根据rs纠错算法可知,在将数据块中的未知错误转换为已知错误的情况下,即该数据块中的未知错误的数量减少、已知错误的数量增加,使得纠错能力的数值减小。在纠错能力的数值小于或等于纠错能力上限值的情况下,确定该数据块能够纠错成功。因此,通过该数据块的已知错误数量和纠错能力上限值可获得未知错误数量的上限值,从而根据该数据块中的未知错误的上限值确定该数据块的结果。本公开实施例通过将符合条件的未知错误转换为已知错误,进一步增强条码图像的污损支持能力。
87.结合图6所示,本公开实施例提供另一种用于条码图像的译码方法。该译码方法包括:s601,处理器将条码图像的数据块中的错误均标记为未知错误。
88.其中,数据块的数量为1个或多个,数据块的数量与条码图像的版本信息与纠错等级相关。每个数据块中错误的类型包括已知错误和未知错误。
89.s602,处理器确定干扰图像的初始测试区域。
90.其中,初始测试区域设置为0,这样,可以保证在条码图像中心区域的干扰图像的面积较小的情况下,准确的对条码图像进行译码。
91.s603,处理器基于初始测试区域,按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误。
92.s604,处理器将测试区域所包含的各个数据块中的未知错误转换为已知错误。
93.s605,处理器对条码图像中转换后的各个数据块进行纠错。
94.s606,处理器在所有数据块均纠错成功的情况下,确定条码图像译码成功。
95.s607,处理器在存在数据块纠错失败的情况下,确定条码图像译码失败。
96.在该实施例中,通过所有数据块的纠错结果确定条码图像的译码结果,以实现对条码图像的解码。
97.结合图7所示,本公开实施例提供一种用于条码图像的译码装置200,包括处理器(processor)100和存储器(memory)101。可选地,该装置还可以包括通信接口(communication interface)102和总线103。其中,处理器100、通信接口102、存储器101可以通过总线103完成相互间的通信。通信接口102可以用于信息传输。处理器100可以调用存储器101中的逻辑指令,以执行上述实施例的用于条码图像的译码方法。
98.本公开实施例提供了一种电子设备,包括:电子设备本体,以及上述的用于条码图像的译码装置。用于条码图像的译码装置被安装于电子设备本体。这里所表述的安装关系,并不仅限于在电子设备内部放置,还包括了与电子设备的其他元器件的安装连接,包括但不限于物理连接、电性连接或者信号传输连接等。本领域技术人员可以理解的是,用于条码图像的译码装置可以适配于可行的电子设备主体,进而实现其他可行的实施例。
99.本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于条码图像的译码的方法。
100.上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
101.本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
102.以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。
一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本技术中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本技术中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本技术中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
103.本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
104.本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
105.附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图
和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

技术特征:
1.一种用于条码图像的译码方法,其特征在于,条码图像包括位于条码图像中心区域的干扰图像;译码方法包括:将条码图像的数据块中的错误均标记为未知错误;其中,数据块的数量为1个或多个;确定干扰图像的初始测试区域;基于初始测试区域,按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误;将测试区域所包含的各个数据块中的未知错误转换为已知错误;对条码图像中转换后的各个数据块进行纠错。2.根据权利要求1所述的译码方法,其特征在于,按照如下方式确定条码图像的数据块:获得条码图像的比特流数据和纠错块数量;将条码图像的比特流数据按照纠错块数量转化为1个或多个数据块。3.根据权利要求1所述的译码方法,其特征在于,按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误,包括:按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误,直至测试区域为最大测试区域;其中,最大测试区域与条码图像的版本信息与纠错等级相关。4.根据权利要求3所述的译码方法,其特征在于,按照如下方式确定最大测试区域:获得条码图像的版本信息和纠错等级;采集与条码图像的版本信息和纠错等级相同的完整无污损的对照条码图像;按照逐层扩大对照测试区域的方式设置对照测试区域中的错误为已知错误;对包含对照测试区域的对照条码图像进行译码;在对照条码图像译码失败的情况下,将对照条码图像译码失败时所对应的对照测试区域确定为最大测试区域。5.根据权利要求4所述的译码方法,其特征在于,设置对照测试区域中的错误为已知错误,包括:设置对照测试区域的初始值;基于对照测试区域的初始值和对照条码图像的中心逐层扩大的全黑或全白的对照测试区域,并设置对照测试区域中的错误为已知错误。6.根据权利要求1至5任一项所述的译码方法,其特征在于,对条码图像的各个数据块进行纠错,包括:获得各个数据块中未知错误数量的实际值;确定各个数据块所对应的未知错误数量的上限值;在未知错误数量的实际值小于或等于未知错误数量的上限值的情况下,确定数据块纠错成功;在未知错误数量的实际值大于未知错误数量的上限值的情况下,确定数据块纠错失败。7.根据权利要求6所述的译码方法,其特征在于,确定各个数据块所对应的未知错误数量的上限值,包括按照如下公式计算各个数据块所对应的未知错误数量的上限值:
r=(k-p)/2其中,r为各个数据块中未知错误数量的上限值,k为各个数据块的纠错能力上限值,p为各个数据块中已知错误数量。8.根据权利要求1至5任一项所述的译码方法,其特征在于,还包括:在所有数据块均纠错成功的情况下,确定条码图像译码成功;在存在数据块纠错失败的情况下,确定条码图像译码失败。9.一种用于条码图像的译码装置,包括处理器和存储有程序指令的存储器,其特征在于,处理器被配置为在运行所述程序指令时,执行如权利要求1至8任一项所述的用于条码图像的译码方法。10.一种电子设备,其特征在于,包括:电子设备本体;和,如权利要求9所述的用于条码图像的译码装置,被安装于电子设备本体。

技术总结
本申请涉及二维条码识别技术领域,公开一种用于条码图像的译码方法、装置和电子设备。条码图像包括位于条码图像中心区域的干扰图像;译码方法包括:将条码图像的数据块中的错误标记为未知错误;其中,数据块的数量为1个或多个;确定干扰图像的初始测试区域;基于初始测试区域,按照逐层扩大测试区域的方式确定测试区域中所包含的各个数据块的未知错误;将测试区域所包含的各个数据块中的未知错误转换为已知错误;对条码图像中转换后的各个数据块进行纠错,以提高中心区域具有干扰图像的条码图像的识别性能。图像的识别性能。图像的识别性能。


技术研发人员:翟剑锋 续素芬 黄金煌
受保护的技术使用者:北京紫光青藤微系统有限公司
技术研发日:2023.08.15
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐