确定文档中的条形码位置转让专利

申请号 : CN201480036526.3

文献号 : CN105359165B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 小詹姆斯·E·亚当斯杰弗里·克拉伦斯·斯奈德

申请人 : 柯达阿拉里斯股份有限公司

摘要 :

一种在文档内产生条形码位置的方法,其包括:提供所述文档的原始数字图像;使用处理器以用于根据所述原始数字图像产生归一化图像;根据所述归一化图像产生梯度图像;根据所述梯度图像产生多个包围盒;以及通过针对条形码的存在测试每一包围盒产生包围盒测试结果;并且根据所述包围盒测试结果在所述文档内产生条形码位置。

权利要求 :

1.一种在文档内产生条形码位置的方法,其包括:(a)提供所述文档的原始数字图像;

(b)使用处理器以用于:

(i)根据所述原始数字图像产生归一化图像,其包括根据所述原始数字图像产生灰度图像以及根据所述灰度图像产生全尺寸直方图拉伸图像;

(ii)根据所述归一化图像产生梯度图像;

(iii)根据所述梯度图像产生多个包围盒;以及(iv)通过针对条形码的存在测试每一包围盒产生包围盒测试结果,其中,产生包围盒测试结果包含:针对所述归一化图像内的每一包围盒区域测试最小条形码像素值及最大条形码像素值的存在,以及针对所述梯度图像内的每一包围盒区域计算条形码黑色像素比且将其与条形码黑色像素比阈值作比较;并且(c)根据所述包围盒测试结果在所述文档内产生条形码位置。

2.根据权利要求1所述的方法,其进一步包含使用直方图渗透产生所述全尺寸直方图拉伸图像。

3.根据权利要求1所述的方法,其中产生梯度图像包含:根据所述归一化图像产生低分辨率图像;以及根据所述低分辨率图像产生方向梯度图像。

4.根据权利要求3所述的方法,其进一步包含在所述方向梯度图像上使用直方图拉伸及阈值以产生所述梯度图像。

5.根据权利要求1所述的方法,其中产生多个包围盒包含通过连接的白色像素的集群找出围绕所述梯度图像中的每一特征的最小包围盒。

6.一种在文档内产生改进的条形码区域的方法,其包括:(a)提供所述文档的原始数字图像;

(b)使用处理器以用于:

(i)根据所述原始数字图像产生归一化图像,其包括根据所述原始数字图像产生灰度图像以及根据所述灰度图像产生全尺寸直方图拉伸图像;

(ii)根据所述归一化图像产生梯度图像;

(iii)根据所述梯度图像产生多个包围盒;以及(iv)通过针对条形码的存在测试每一包围盒产生包围盒测试结果,其中,产生包围盒测试结果包含:针对所述归一化图像内的每一包围盒区域测试最小条形码像素值及最大条形码像素值的存在,以及针对所述梯度图像内的每一包围盒区域计算条形码黑色像素比且将其与条形码黑色像素比阈值作比较;

(c)根据所述包围盒测试结果在所述文档内产生条形码位置;

(d)在所述文档内根据所述条形码位置产生条形码区域;并且(e)根据所述条形码区域产生改进的条形码区域。

7.根据权利要求6所述的方法,其中产生改进的条形码区域进一步包含与处理所述文档的剩余部分不同地处理所述条形码区域。

8.根据权利要求7所述的方法,其进一步包含在处理所述文档时不处理所述条形码区域。

9.一种在文档内产生条形码位置的方法,其包括:(a)提供所述文档的原始数字图像;

(b)使用处理器以用于:

(i)根据所述原始数字图像产生归一化图像;

(ii)根据所述归一化图像产生梯度图像,其包括根据所述归一化图像产生低分辨率图像以及根据所述低分辨率图像产生方向梯度图像;

(iii)根据所述梯度图像产生多个包围盒;以及(iv)通过针对条形码的存在测试每一包围盒产生包围盒测试结果;

其中,产生包围盒测试结果包含:针对所述归一化图像内的每一包围盒区域测试最小条形码像素值及最大条形码像素值的存在,以及针对所述梯度图像内的每一包围盒区域计算条形码黑色像素比且将其与条形码黑色像素比阈值作比较;并且(c)根据所述包围盒测试结果在所述文档内产生条形码位置。

10.一种在文档内产生条形码位置的方法,其包括:(a)提供所述文档的原始数字图像;

(b)使用处理器以用于:

(i)根据所述原始数字图像产生归一化图像;

(ii)根据所述归一化图像产生梯度图像;

(iii)根据所述梯度图像产生多个包围盒;以及(iv)通过针对条形码的存在测试每一包围盒产生包围盒测试结果,其包括针对所述归一化图像内的每一包围盒区域测试最小条形码像素值及最大条形码像素值的存在;并且(c)根据所述包围盒测试结果在所述文档内产生条形码位置。

11.一种在文档内产生条形码位置的方法,其包括:(a)提供所述文档的原始数字图像;

(b)使用处理器以用于:

(i)根据所述原始数字图像产生归一化图像;

(ii)根据所述归一化图像产生梯度图像;

(iii)根据所述梯度图像产生多个包围盒;以及(iv)通过针对条形码的存在测试每一包围盒产生包围盒测试结果,其包括针对所述归一化图像内的每一包围盒区域测试最小条形码像素值及最大条形码像素值的存在,以及针对所述梯度图像内的每一包围盒区域计算条形码黑色像素比且将其与条形码黑色像素比阈值作比较;并且(c)根据所述包围盒测试结果在所述文档内产生条形码位置。

说明书 :

确定文档中的条形码位置

[0001] 相关申请案的交叉参考
[0002] 本申请案主张2013年6月28日申请的题为“确定文档中的条形码位置(DETERMINING BARCODE LACATIONS IN DOCUMENTS)”的第61/840,541号美国专利申请案的优先权,特此以引用方式并入所述申请案的全部内容。

技术领域

[0003] 本发明涉及在文档内产生条形码位置的领域,且更特定来说,涉及一种用于检测及定位条形码以便在文档内产生改进的条形码区域的方法。

背景技术

[0004] 在众所周知的读取条形码任务中通常第一步骤是检测文档内的条形码的存在及位置。李(Lee)等人的题为“条形码位置确定(Barcode Location Determination)”的第4,948,955号共同转让美国专利案描述了通过经由连接组件分析在文档中产生候选区域的降低分辨率的图并且通过计算基于矩的特征(例如质心定位、区域、长轴长度及短轴长度)测试每一候选区域来检测已知尺寸及定向的条形码。使用此方法的问题是不能检测未知尺寸及定向的条形码以及所执行的图像处理操作(举例来说,连接组件分析、需要广泛的计算资源)的复杂度。克里希南(Krishnan)的题为“条形码阅读器(Bar Code Reader)”的第4,988,
852号共同转让美国专利案通过检测适用于条形码的一维黑到白过渡的区域在文档内产生候选条形码区域。使用形态学操作随后完善候选区域的边界。使用此方法的问题是不能检测并未展示长实心条及典型的一维条形码类型的空间的二维条形码类型。王(Wang)的题为“定位2-D条形码(Locating 2-D条形码)”的第5,304,787号共同转让美国专利案描绘搜索文档以获得与具体条形码类型相关联的特定起始码及终止码的存在的方法。使用此方法的问题是仅可确定与给定起始码及终止码相关联的条形码类型且对起始码及终止码的搜索对条形码的比例(尺寸)非常敏感,需要使用多种比例因子对文档进行多重搜索。这些多重途径明显增加条形码检测过程的执行时间。周(Zhou)等人的题为“定位图像内的机器可读二维条形码的方法(Method of Locating a Machine Readable Two Dimensional Barcode within an Image)”的第5,974,200号共同转让美国专利案通过检测适用于条形码的二维黑到白类似棋盘格图案的区域在文档内产生候选区域。使用此方法的问题是不能检测未含有此类棋盘格特征的条形码类型。

发明内容

[0005] 仍需要一种用于在文档内产生条形码位置的快读且稳健的技术,所述技术避免使用广泛的计算资源、同时定位一维与二维条形码两者、无需条形码类型的先验知识且如果在文档中不存在条形码就快速终止。
[0006] 本发明表述一种在文档内产生条形码位置的方法,其包括:
[0007] 提供所述文档的原始数字图像;
[0008] 使用处理器以用于:
[0009] 根据所述原始数字图像产生归一化图像;
[0010] 根据所述归一化图像产生梯度图像;
[0011] 根据所述梯度图像产生多个包围盒;以及
[0012] 通过针对条形码的存在测试每一包围盒产生包围盒测试结果;并且[0013] 根据所述包围盒测试结果在所述文档内产生条形码位置。
[0014] 本发明具有以下优点:其仅使用两种简单的测试识别条形码位置而无需考虑存在的条形码类型。在无需广泛的计算资源的情况下其对应地快速执行。
[0015] 本发明具有以下额外优点:其同时定位一维与二维条形码两者。
[0016] 本发明具有以下额外优点:其无需关于任何给定条形码类型的具体特征的信息。
[0017] 本发明具有以下额外优点:其不要求在经处理的文档中已知条形码的存在。如果不存在条形码,本发明将在无需使用广泛的计算资源的情况下迅速地作出其测试结论。

附图说明

[0018] 图1为本发明的优选实施例的框图;
[0019] 图2为展示图1中的形成梯度图像块的额外细节的框图;以及
[0020] 图3为本发明的替代实施例的框图。

具体实施方式

[0021] 在以下描述中,将以通常将被实施为软件程序的术语描述本发明的一些实施例。所属领域的技术人员将容易地认识到,此类软件的等效物也可被构建于硬件中。因为图像操纵算法及系统为众所周知的,所以本描述将(尤其)针对形成根据本发明的方法的部分或更直接与其协作的算法及系统。可从此项技术中已知的此类系统、算法、组件及元件中选择本文中未特定展示或描述的此类算法及系统的其它方面以及用于产生且另外处理与其相关的信号的硬件及软件。考虑到在下文中如根据本发明描述的系统,对于实施本发明有用的本文中未特定展示、论述或描述的软件为常规的且在此类领域中的普通技术内。
[0022] 图1为本发明的优选实施例的框图。形成归一化图像块105根据文档100产生归一化图像110。文档100为以所属领域的技术人员已知的若干方式(例如使用扫描器或摄像机)产生的数字图像。形成梯度图像块115根据归一化图像110产生梯度图像120。形成包围盒块125根据梯度图像120产生一或多个包围盒130。测试包围盒块135根据归一化图像110及梯度图像120产生针对包围盒130中的每一者的包围盒测试结果140。形成条形码位置块145根据包围盒130及包围盒测试结果140产生一或多个条形码位置150。
[0023] 在图1中,形成归一化图像块105通过首先将文档100转换成灰度图像且接着在所述灰度图像上执行全尺寸直方图拉伸来产生归一化图像110。转换成灰度图像的操作组合文档100的色彩分量以在文档100中的每一位置处产生灰色分量。此操作的一个实例为:
[0024] 灰=kred×红+kgreen×绿+kblue×蓝
[0025] 其中红、绿及蓝为在文档位置处的色彩值,kred、kgreen及kblue为加权系数,且灰为输出灰度值。典型的加权系数值为:kred=0.25、kgreen=0.5且kblue=0.25。其它可能加权系数值将为所属领域的技术人员众所周知的。全尺寸直方图拉伸操作由找出灰度图像中的最小及最大灰度值开始。这些极限值接着被用以拉伸灰度值的范围以跨越标准范围(举例来说,0到255)延伸。当标准范围为0到255时,此操作的一个实例为:
[0026] graystretched=255×((灰–graymin)/(graymax–graymin))
[0027] 其中灰为输入灰度值,graymin为最小灰度值,graymax为最大灰度值且graystretched为输出的全范围直方图拉伸值。在替代实施例中,计算出灰度图像的直方图而不是找出最小及最大灰度值。使用所属领域的技术人员众所周知的方法作为直方图渗透,graymin被设定为对应于一小部分的直方图能量的灰度值,且graymax被设定为对应于一大部分的直方图能量的灰度值。作为实例,graymin可被设定为对应于累积直方图能量的5%,且graymax可被设定为对应于累积直方图能量的95%。使用graymin及graymax的直方图拉伸值,可依旧计算graystretched。由于现在graystretch可归因于直方图渗透而超出标准范围,所以可在拉伸计算之后将graystretch修剪到标准范围,如下文展示:
[0028]
[0029] 图2为形成梯度图像块115(图1)的详细图。平均下降块200根据归一化图像110(图1)产生低分辨率图像210。计算方向梯度块220根据低分辨率图像210产生方向梯度图像
230。全尺寸拉伸块240根据方向梯度图像230产生经拉伸的图像250。二值化块260根据经拉伸的图像250产生二值图像270。关闭块280根据二值图像270产生梯度图像120(图1)。
[0030] 在图2中,平均下降块200首先使用5×5箱式滤波器使归一化图像模糊(将所有归一化图像值平均到5×5正方形区域内)以产生模糊的归一化图像,且接着在水平与垂直方向两者上以系数四对模糊的归一化图像作二次采样以产生低分辨率图像210。计算方向梯度块220以给定方向计算低分辨率图像210中的邻近像素值之间的绝对差。典型地,给定方向为水平、垂直或两个对角线方向中的一者。接着将绝对差修剪到标准范围(例如0到255),且接着使用5×5箱式滤波器使其模糊以产生方向梯度图像230。全尺寸拉伸块240计算方向梯度图像230的最小及最大值且使用这些值以计算经拉伸的图像250。如果标准范围为0到255,那么:
[0031] gradstretched=255×((灰–gradmin)/(gradmax–gradmin))
[0032] 其中grad为方向梯度图像值,gradmin及gradmax为极限值,并且gradstretched为拉伸图像值。二值化块260计算经拉伸的图像250的直方图,且接着确定等于对应于累积直方图能量的80%的拉伸图像值的二值化阈值。二值化阈值被应用到经拉伸的图像250以产生二值图像270。最后,关闭块280使用3×3结构元素对二值图像270执行形态学闭运算以产生梯度图像120(图1)。
[0033] 在图1中,形成包围盒块125扫描梯度图像120以寻找第一白色像素,其中假设白色像素对应于文档100中的边缘且黑色像素对应于文档100中的平坦区域。盒从第一白色像素扩展直到水平到达第一黑色像素且垂直到达第一黑色像素。所得的盒变为起始包围盒。接着使用所属领域的技术人员已知的标准方法将起始包围盒改进为旋转卡尺。在旋转卡尺处理中,盒的每一侧被循序地调整以在待连接的白色像素的集群周围产生最紧密配合的盒。结果是经扩展的包围盒。将经扩展的包围盒的坐标添加到包围盒130的列表。一旦经扩展的包围盒位置被识别,形成包围盒块125就继续扫描梯度图像120以寻找未含在先前识别的包围盒130中的下一白色像素直到梯度图像120已完全被扫描。
[0034] 在图1中,测试包围盒块135根据包围盒130测试在归一化图像110内的每一包围盒位置以获得标准范围的两个极限的像素值的存在。举例来说,如果标准范围为0到255,那么测试包围盒块135就检查包围盒内像素值0与255两者的存在。如果这些像素值中的一者或两者丢失,那么包围盒作为可能的条形码位置而被拒绝。如果找到这两个极限像素值,那么测试包围盒块135比较梯度图像120中的包围盒中的黑色像素的数目与白色像素的数目。如果10%以上的像素为黑色,那么包围盒作为可能的条形码位置而被拒绝。(作为关闭块280(图2)操作的结果,理想的条形码将变成白色像素的实心块。)两次测试的结果成为包围盒测试结果140。形成条形码位置块145根据通过包围盒测试结果140的两者的包围盒130产生条形码位置150的列表。
[0035] 图3为本发明的替代实施例的框图。形成条形码区域块310根据文档100(图1)及条形码位置150(图1)产生条形码区域320。处理文档块330根据文档100(图1)及条形码区域320产生经处理的文档340。
[0036] 在图3中,形成条形码区域块310以一种方式识别文档100(图1)内的条形码位置150(图1),此方式使得可在条形码区域320内与文档100(图1)的剩余部分不同地执行随后文档处理。这基于以下观察:其它类型的文档内容(例如文本、图形或图片)与条形码足够不同以受益于不同类型的处理。不同处理的实例应与非条形码区域不同地锐化条形码区域
320。另一重要实例是,将随后文档处理限制到仅非条形码区域。处理文档块330执行一致的不同文档处理操作以产生经处理的文档340。
[0037] 计算机程序产品可包含一或多种非暂时性的有形计算机可读存储媒体,举例来说:磁性存储媒体,例如磁盘(例如软盘)或磁带;光学存储媒体,例如光盘,光带或机器可读条形码;固态电子存储装置,例如随机存取存储器(RAM)或只读存储器(ROM);或用以存储具有用于控制一或多个计算机以实践根据本发明的方法的指令的计算机程序的任何其它物理装置或媒体。
[0038] 虽然已具体引用本发明的某选优选实施例详细描述本发明,但应理解,在本发明的精神及范围内可实现多种变化及修改。
[0039] 部件列表
[0040] 100 文档
[0041] 105 形成归一化图像块
[0042] 110 归一化图像
[0043] 115 形成梯度图像块
[0044] 120 梯度图像
[0045] 125 形成包围盒
[0046] 130 包围盒
[0047] 135 测试包围盒块
[0048] 140 包围盒测试结果
[0049] 145 形成条形码位置块
[0050] 150 条形码位置
[0051] 200 平均下降块
[0052] 210 低分辨率图像
[0053] 220 计算方向梯度块
[0054] 230 方向梯度图像
[0055] 240 全尺寸拉伸块
[0056] 250 经拉伸的图像
[0057] 260 二值化块
[0058] 270 二值图像
[0059] 280 关闭块
[0060] 310 形成条形码区域块
[0061] 320 条形码区域
[0062] 330 处理文档块
[0063] 340 经处理的文档