用于解码线性条码的方法

文档序号:6596724阅读:152来源:国知局
专利名称:用于解码线性条码的方法
技术领域
本发明涉及用于解码图像中的线性条码的方法,尤其涉及用于解码在由像素构成的图像中的线性条码的方法。
背景技术
由条码组成的符号已经变得日益被用于从多种不同物体采集有意义的数据。不同类型的条码符号系统已经随时间发展。首先被发展的符号系统,诸如举例说,ΕΑΝ/UPC、代码128和代码39,被称为线性符号系统,因为符号的数据沿单根轴或方向顺着一系列的黑条和白间_伸延。最近,两维符号系统也已经宣称了它们自己,诸如举例说,Datamatrix、PDF-417及其他,它们对两维表面上的符号数据编码。在过去,但也仍然在今天,激光扫描读取器已经主要被用于读取线性条码,其中的 激光束照射在待读取的代码上,而从其反射的光被对光敏感的装置接收并被转换为模拟电信号,该模拟电信号构成条码的分布图。代替激光扫描器的另ー种方案,是根据像素技术的线性读取器也常常被使用,它包括由単行像素构成的传感器。在扫描期间照射在每ー像素上的发光强度被分析,并仍然可能从自每一像素检测的离散强度值,重构线性条码的分布图,这样使该代码能被解码。事实上,如果每ー像素的强度值被考虑成条码分布图的模拟信号的抽样值,那么可能识别该系列的黑条及白间隔,以及每一条和/或间隔的宽度,借助熟知的抽样信号处理技术,重构该代码的分布图(profile)。线性符号系统通常使用两种不同宽度的単元编码,诸如举例说,窄的和/或宽的黑条及窄的和/或宽的间隔。应当指出,条码单元不加区别地指黑条或白间隔。别的线性符号系统使用4种或更多不同宽度的单元,而在这样的情形中,每ー单元的宽度是最小值的整数倍。结果是,图像内最小宽度单元比像素尺寸越大,解码条码将越简单,该最小宽度单元亦称为模块。从理论的观点看,按照熟知的抽样理论建立的理论,使用每模块至少有ー个像素的分辨率的传感器的读取器,对代码解码是可能的。然而,被适用于相同模块的发光强度照射的扫描线的像素越多,越有可能在细节上定义从黑条到白间隔的过渡,反之亦然,从而能对代码进行解码。为了读取两维代码,读取器已经确认自身是基于两维图像的传感器,S卩,其中像素矩阵接收整个线性条码的图像。在这样的情形中,每一行或列具有的像素数量,小于线性像素传感器的像素数量,但这一点并不代表读取两维代码的问题。然而,日益増加的ー些应用,要求能读取线性符号和两维符号二者。为了满足这ー需求,因此有必要使用配有两维传感器的读取器,但是,由于被定位在行或列上的像素的较小数量,能够被读取的景深和/或模块的最小宽度,变得比配有更多像素的线性传感器可获得的更糟。尤其是,能够用两维传感器读取的模块的最小宽度,比用线性传感器可获得的模块的最小宽度更大。此外,使用有有限数量的像素的两维图像传感器,因为它比使用有大数量的像素的两维传感器便宜得多且更广泛,所以需求日益増加。如果两维传感器被用于读取线性符号系统,那么这样的符号系统通过选择扫描线的该组的被确定的线而被解码,在这里,每ー扫描线包括该传感器的两维像素矩阵的ー组相邻像素。相邻像素被定义为至少共同有一侧或ー个顶点的像素。例如,两维传感器的水平行或竖直列能够被考虑为扫描线。与用线性传感器出现的情况类似,照射在扫描线的每ー像素上的发光强度被分析,以重构该线性条码的分布图,它能使该代码被解码。如前所述,抽样理论设置理论上的极限,S卩,要求被获取的线性条码有每模块至少有一个像素的分辨率,且不存在应用于扫描线的能使这ー极限被克服的内插、滤波或过抽样过程。对有低数量像素的传感器,诸如像素矩阵读取器,如果模块的宽度小于ー个像素 的尺寸,它不可能重构代码的分布图,从而不可能对线性条码进行解码。此外,即使当上面的理论极限被遵从时,如果分辨率大于该极限几个百分点,已从实验上得知,它不可能对线性条码进行解码。

发明内容
本发明的目的,是提供一种用于解码线性条码的新方法。再ー个目的,是提供一种用于解码条码的方法,即使由于传感器的不充足的分辨率,使任一扫描线中含有的信息,不足以识别该条码各単元之间的所有过渡,也能实现这种解码。作为由抽样理论设置的极限,对本发明该目的的该方法还是仍然有效的,所以再ー个目的,是提供一种有大于每模块ー个像素的分辨率的解码方法。再ー个目的,是提供从计算的观点看是特别快的一种解码方法,即,该方法能够使被要求用于解码代码的时间被缩减。按照本发明,ー种如在权利要求I所定义的用于解码条码的方法被提供。按照本发明,ー种如在权利要求27所定义的条码读取器还被提供。按照本发明,ー种如在权利要求30所定义的程序还被提供。归因于本发明,由此获得使线性条码能被解码的方法是可能的,因为由于不仅使用预定扫描线中像素的强度值,而且使用不属于该预定扫描线的更多像素的强度值,使过抽样的信号,即,有子像素分辨率的代码的实际分布图被重构。换句话说,因为不存在在分辨率太低的事件中允许解码的扫描线,线性条码中已有的但相对于扫描线位移的信息被使用,以便增加用于重构该分布图的样本的数量。更多的像素因而被添加到预定扫描线的像素中。照此方式,抽样理论设置的极限被克服,且哪怕当分辨率小于每模块ー个像素吋,条码也能够被解码。结果是,结合两维传感器的条码读取器能够有利地被使用,但它还同时对读取线性符号和读取两维符号二者确保巨大的灵活性。结果是,甚至在更大的程度上,结合廉价的线性传感器的条码读取器能够被制造,即使当分辨率小于每模块ー个像素时,它总能对线性条码进行解码。


參考附图能够对本发明有更好的理解和更好地实施本发明,这些附图以非限制性例子的方式示出本发明的实施例,其中图I是通过有两维像素矩阵的传感器获取的条码的图像;图2是图例,其中被示出的图像的一部分,是通过传感器获取并通过属于扫描线的组的像素接收,该扫描线中每一像素有相应的发光强度值;图3是图例,其中示出图2的像素,其中每ー像素按照本发明的方法被抽样的顺序排序;图4画出曲线图,图上示出按照本发明的通过内插像素的強度值所获得的条码的过抽样分布图,图中移位值在X轴上示出,而强度值在I轴上示出。
具体实施例方式參考图1,利用由像素100的两维组构成的传感器(未画出)获取的图像被示出,该图像中给出线性条码I。应当指出,图I的线性条码I以在白背景上的一系列的黑条和白间隔表示。该线性条码有轮廓线2,它可在线性条码被采集后与该线性条码关联,这样使代码I能与外部背景分离。应当指出,如图I所示,在线性条码的轮廓线2内部,除该系列的黑条和白间隔外,还有数据,诸如举例说,数字,但这与本发明的目的无关并将不予考虑。在轮廓线2内部,还能识别图像3的除去在该条码中出现的数字外的一部分,该部分包括黑条和白间隔的系列,以及该黑条和白间隔的系列由此开始的第一黑条4。应当指出,图像3的该部分被布置在部分地与轮廓线2重合的矩形5内,矩形5的ー边由第一黑条4定义。图像3的该部分具有的高度定义条码的高度,该高度作为第一黑条4的第一端顶点6和第二端顶点7之间的距离被计算。第一顶点6由线性条码的黑条4和轮廓线2之间的交点定义,而第二顶点被布置在含有黑条和白间隔的系列的矩形5的周边上。应当指出,线性条码I被布置成相对于參考轴,尤其是竖直參考轴8傾斜,为易于表示起见,该參考轴8被画成线性条码I之外的半根直线。为了简单的缘故,參考是对竖直參考系统8作出的。然而应当指出,能用识别不同的參考轴,例如水平參考系统,而不损失任何普遍性。尤其是,在竖直參考轴8和第一黑条之间定义角度α,该角度的计算对本发明的目的是重要的,如在下面更好地被示出。必须指出,在由像素100的两维组构成的传感器以行和列被对准并被布置的情形中,该竖直參考8简单地由像素100的组的列和/或行之一给出。另ー方面,如果因为这些像素形状不是正方形而是多边形,没有前述的对准,则该竖直參考8应由传感器的外部边界作出。像素100是能被该图像反射的发光强度照射上去的最小自主(autonomous)单元,而在像素100的该两维组内部,每ー像素100以其位置并以强度值表征,该强度值在当前的情形中,是灰度级按离散方式可变的整数,该灰度级从指示黑的O到指示白的255。如果像素100被白和黑图像二者的一部分照射上去,它将有居中的强度值,从而表示照射在该像素上各种不同強度之间的平均。图2示出接收图像3的该部分的像素100的组,在该部分中有条码I,且在该部分中,有表示它的发光强度值的数字的每ー像素100,属于相应的扫描线9。尤其是,每ー扫描线9包括按照第一索引排序的像素100的第一组10。图2示出多条扫描线9,S卩,扫描线9的第二组11,其中该扫描线按照第二索引被排序。该扫描线9的第二组11,其中每一条包括像素100的相应第一组10,因而使像素的第三组12能被定义,其中每ー像素100通过它的位置被识别,该位置以第一索引和第二索引表示。如果像素矩阵100的两维表示被考虑,则第一索引是列索引,它按照惯例从O开始,随着它向右运动而増加,而第二索引是行索引,它按照惯例从O开始,随着它向上运动而增加。在图2中,要被解码的条码的一部分也被示出,图上给出从每ー像素100接收的发 光强度值的原点。条码I包括第一宽的白间隔13、第一窄的黑条14、第二宽的黑条15、以及介于窄的黑条14和宽的黑条15之间的窄的白间隔16。第一黑条14和第二黑条15在图2中只是示意画出,因为像素100的发光强度值不能使该条的位置被立刻确定,分辨率小于每模块ー个像素。事实上,通过考察预定扫描线18,诸如举例说,对应于图2中被布置在靠下一行的扫描线,我们按照惯例向该行指配行索引0,值得注意的是,为什么它不能重构一系列的白间隔和黑条,因为像素的发光强度值的序列是240、120、50和100,而该序列不能使窄的黑条14和窄的白间隔16的存在被识别。通过例如考虑第一黑条14,事实上能够指出,该第一黑条14整个地被包含在単一像素100中,即,该像素100有行索引O和列索引1,假设按照惯例,列索引O被指配给像素100,在图2中,该像素100的強度等于240。因此不能识别第一黑条14到窄白间隔16的过渡。因此显然,对第一黑条14和窄的白间隔16有效的每一种考虑,对条码中该系列的黑条和白间隔的每ー其他単元同样有效。因为条码I事实上相对于竖直參考8倾斜,且沿条码I的整个高度的信息是相同的,第二组11中相邻的扫描线9,从相同系列的条和间隔接收发光強度,该发光強度是它们所属的行以及与条码相对于竖直參考倾斜有关的第一參数的函数。尤其是,第一黑条14,从行O开始并继续向上进入行1,正如代码的每一単元,将被向左移动像素的某一百分数,该百分数与条码I相对于竖直參考8倾斜的角度α成正比。通过考虑像素是正方形,它的边有等于单位的尺寸,对每一行的増加,能识别等于α的正切的移位S。换句话说,与当前被识别的条码的倾斜关联的第一參数,是α的正切,但角度α的依赖性也能够用不同公式表示,不由此损失任何普遍性。事实上,通过从像素的第三组12选择像素100的第四排序的组17,即,通过选取彼此都远离但按下面将更好地解释的有序方式的像素100,能向条码的相同単元指配第四组17的像素100的強度值,从而构造从第一白间隔13到第一黑条14和从第一黑条14到第二白间隔16过渡的过抽样分布图。如图3所示,通过使用第四组17的像素100的强度值,构造过抽样信号,因而能对条码I进行解码。像素100的第四组17,包括像素100的数量大于第一组10的像素数量。换句话说,在可从单ー扫描线重构的条码的分布图中,更多的样本按像素的百分率被添加,以构造过抽样的分布图,而能对该条码进行解码的子像素分辨率因而被获得。
在下面为简单起见示出的只用于识别特定黑条的方法,显然可应用于对整个条码进行解码,尤其是图2所示条码单元的系列。现在,让我们考虑图2的像素100的强度值的表格表示,并让我们假设,索引(0,O)的像素100是在左下角中的像素100。在下面插入的表I表明表I
C. -I I- C. OC. I I- C. 2 「C. 3
R. 4 120 15030 250
R. 3 200 14030 170
R. 2 255 100120 90
R. I 150150 20 240
R. O 240120 50 100如果图2所示条码被倾斜的角度等于21.8°,该黑条从一行到相邻行的移位S的值等于21.8°的正切,即,像素的O. 4百分率。每5行,将有等于2的像素100的整数移位。换句话说,以移位S等于O. 4,有2个像素和5个可能的移位值S的模块性(modularity),其后,该黑条以相同值重复它的移位,因而,虽然考察被等于6的行索引识别的扫描行,第六扫描行不会添加更多额外信息。能对第三组12的每ー像素100,计算相应的移位值S。该移位值S通过像素的行索引与α的正切相乘,并把结果加到该像素的列索引而获得。如果R是行索引而C是列索弓丨,能按照公式I写出该移位值S,该公式I如下I) S=tang ( a ) *R+C我们对属于第三组12的每ー像素,从像素(0,O)计算对应的移位值S,而我们考虑这样的移位值S的表格表示。在下面插入的表2表明表2
C. -I I- C. O C. I I- C. 2 「C. 3R. 4 0.6 1.6 2.6 3.6R. 3 0.2 1.2 2.2 3.2R. 2 -O. 2 O. 8 I. 8 2. 8R. I 一0.6 0.4 1.4 2.4 3.权利要求
1.用于利用由像素(100)的组构成的传感器解码图像中的线性条码(I)的方法,该方法包括a)选择预定的扫描线(18),包括像素(100)的第一排序的组(10),其中每ー像素(100)通过第一索引(C)被识别并有相应的强度值;b)通过从所述预定扫描线(18)的所述像素(100)的强度值,构造所述条码的分布图,对所述条码进行解码;特征在于,所述方法还包括c)获得扫描线(9)的第二组(11),该扫描线(9)还包括所述预定扫描线(18),其中所述扫描线(9)按照第二索引(R ;CP)被排序,且每ー扫描线包括用于定义像素(100)的第三组(12)的像素(100)的相应第一组(10),每ー像素通过所述第一索引并且通过所述第二索引被识别;d)从像素(100)的所述第三组(12)选择像素(100)的第四排序的组(17),并通过排序 从所述第四组(17)的所述像素(100)的強度值计算出的強度值,构造所述条码的过抽样的分布图,像素(100)的所述第四组(17)包括所述预定扫描线(18)的像素(100),并且还包括不属于所述预定扫描线(18)的所述第三组(12)的像素(100),以获得能对所述条码进行解码的子像素分辨率。
2.按照权利要求I的方法,其中所述选择像素的第四排序组(17),包括e)对所述第三组(12)的每ー像素(100),计算对应的移位值(S),该移位值(S)依赖于所述像素(100)的所述第一索引(C)和所述第二索引(R;CP)的值;f)处理所述移位值(S),从而获得所述移位值(S)的排序的第五组,所述第五组的每一移位值(S),被与所述第三组(12)的相应像素(100)关联;g)像素(100)的所述第四组(17)的每ー像素(100),按照由移位值的所述第五组指示的次序被选择和被排序。
3.按照权利要求2的方法,其中所述处理所述移位值(S)包括对所述移位值(S)按递升的次序排序,以获得移位值(S)的所述第五排序的组。
4.按照权利要求2的方法,其中所述从所述第四组(17)的所述像素(100)的強度值计算强度值,包括向所述第四组(17)的每ー像素(100),指配所述像素(100)的强度值,并使所述强度值与所述第五组的相应移位值(S)关联。
5.按照权利要求2的方法,其中所述方法还包括,定义等距參考移位值(SE)的第六预定组,以及向每一等距移位值(SE),指配从所述第四组(17)的所述像素(100)的強度值计算出的相应强度值。
6.按照权利要求5的方法,其中所述方法还包括,比较每一所述等距移位值与所述第五组的移位值(S),以便识别所述第五组中相对于所述等距移位值(SE)有最小过量差值(S_EXCESS)的第一移位值(S)和所述第五组中相对于所述等距移位值(SE)有最小不足差值(S_DEFECT)的第二移位值(S)。
7.按照权利要求6的方法,其中所述向每一等距移位值(SE)指配相应的计算的强度值,包括内插与所述第一移位值(S)对应的所述第四组(17)的第一像素(100)的强度值和与所述第二移位值(S)对应的所述第四组(17)的第二像素(100)的第二强度值,并向所述等距移位值(SE)指配所述内插的強度值。
8.按照权利要求7的方法,其中所述内插所述第一强度值和所述第二强度值,包括进行加权平均,该加权平均的权重从所述最小过量差值和从所述最小不足差值导出。
9.按照前述权利要求I到8任ー项的方法,其中所述获得扫描线(9)的所述第二组(11 ),包括借助使用两维传感器的读取器获取像素(100)的两维组,所述第一索引是列索引(C),而所述第二索引是行索引(R)。
10.按照权利要求9的方法,其中所述方法还包括,在所述获得扫描线(9)的所述第二组(11)之后,在从所述第三组(12)选择像素(100)的所述第四组(17)之前,计算所述条码相对于參考轴(8)的傾斜。
11.按照权利要求10的方法,其中计算所述倾斜,包括计算与所述条码相对于所述參考轴(8)的倾斜关联的第一參数,所述參考轴尤其指竖直參考轴。
12.按照权利要求11的方法,其中计算所述第一參数,包括计算α的正切,α是所述条码(I)和所述參考轴(8)之间的角度,且其中所述參数是α的正切。
13.按照权利要求12的方法,其中所述计算所述第三组(12)的每ー像素(100)的对应的移位值(S),等同于把所述行索引(R)与α的正切相乘,并把结果加到所述列索引(C)。
14.按照权利要求10的方法,其中所述方法还包括,分析像素(100)的所述两维组,以确定所述代码的第一黑条(4)。
15.按照权利要求14的方法,其中计算所述条码的所述倾斜,包括计算所述第一黑条(4)和所述參考轴(8)之间的倾斜,所述參考轴尤其指竖直參考轴(8)。
16.按照权利要求9的方法,其中选择像素(100)的所述第一组(10)还包括,选择所述条码内任一所述像素(100),并把所述选择的像素(100)考虑成所述预定扫描线(18)的初始像素,向所述选择的像素(100)的所述行索引(R)和所述列索引(C),指配等于O的值。
17.按照权利要求16的方法,其中所述方法还包括,分析像素(100)的所述两维组,以确定所述代码的第一黑条(4),并计算所述条码的高度,作为所述第一黑条(4)的第一端顶点(6)和第二端顶点(7)之间的距离。
18.按照权利要求17的方法,其中所述方法还包括,大体上沿所述第一黑条(4)高度的一半选择所述初始像素。
19.按照权利要求9的方法,其中所述行索引(R)在像素(100)的所述第三组(12)中増加ー个向上移动的单位。
20.按照权利要求9的方法,其中所述列索引(C)在像素(10)的所述第一组(12)中增加一个向右移动的单位。
21.按照前述权利要求I到20任ー项的方法,其中所述条码被布置成在所述图像中相对于參考轴傾斜,并相对于所述參考轴形成等于0°、45°、90°、135°、270°、315°和360°的角度,且其中所述方法还包括,改变所述图像和由像素(100)的所述组构成的所述传感器之间的相互位置。
22.按照前述权利要求I到20任ー项的方法,其中所述条码被布置成在所述图像中相对于參考轴倾斜,且所述条码相对于所述參考轴形成的角度,被包括在0°和45°之间、45°和90°之间、90°和135°之间、135°和270°之间、270°和315°之间、以及315°和360。之间。
23.按照前述权利要求I到8任ー项的方法,其中所述获得扫描线(9)的所述第二组(11),包括借助线性像素传感器在各个不同瞬间从该条码获取每ー扫描线。
24.按照权利要求23的方法,其中每ー被获取的扫描线,借助与所述预定扫描线的相关性被处理,并从所述相关性,计算与所述扫描线关联的第二相关參数(CP)。
25.按照权利要求24的方法,其中每ー扫描线的每一像素通过所述第一索引并通过所述第二索引被识别,该第一索引对应于所述相应扫描线中所述像素的排序索引,该第二索弓I对应于所述第二相关參数(CP)。
26.按照权利要求23到25任ー项的方法,如附加于权利要求2,其中所述对所述第三组(12)的每ー像素(100)计算的对应移位值(S),等同于把所述第二索引(CP)加到所述第一索引(C)。
27.条码读取器,包括由像素的组构成的传感器,使用按照权利要求I到8任一项的用于解码条码的方法。
28.按照权利要求27的条码读取器,其中所述传感器由像素的两维组构成,并使用按照权利要求9到20任ー项的解码方法。
29.按照权利要求27的条码读取器,其中所述传感器由像素的线性组构成,并使用按照权利要求23到26任ー项的解码方法。
30.包括代码的程序,用于当该程序在条码读取器中被运行时,实施按照权利要求I到26任ー项的条码的解码方法。
全文摘要
用于解码线性条码的方法。用于利用由像素的组构成的传感器,解码图像中的条码的方法,包括获得定义扫描线的第二组的多条扫描线,该扫描线的第二组还包括预定的扫描线。每一扫描线由像素的第一组构成,每一像素通过第一索引并通过第二索引被识别。作为扫描线的第二组一部分的像素,定义像素的第三组,并从像素的第三组的像素,能选出像素的第四组,以构造该条码的过抽样分布图,对从该第四组的像素的强度值计算出的强度值排序。该第四组的像素,包括预定扫描线的像素,还包括不属于预定扫描线的第三组的像素,以获得能解码该条码的子像素分辨率。
文档编号G06K7/14GK102763121SQ200980163411
公开日2012年10月31日 申请日期2009年12月21日 优先权日2009年12月21日
发明者F·德皮耶里, R·佐卡 申请人:得利捷Ip科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1