条形码定位方法、存储介质和计算机技术

技术编号:33992232 阅读:51 留言:0更新日期:2022-07-02 09:59
本发明专利技术提供一种条形码定位方法、存储介质和计算机。所述条形码定位方法包括:获取包括条形码的灰度图像;将所述灰度图像栅格化;计算每个栅格的纹理特征值,每个栅格的纹理特征值为该栅格的行灰度变化均值与该栅格的列灰度变化均值的比值;对所述栅格的纹理特征值进行分析得到条形码区域;和根据所述条形码区域的栅格集的外接矩形切割得到所述条形码区域。这样不受光照影响和背景干扰,可以准确地将条形码区域在整张图像中定位,且速度较快,定位整体的鲁棒性较好。整体的鲁棒性较好。整体的鲁棒性较好。

【技术实现步骤摘要】
条形码定位方法、存储介质和计算机


[0001]本专利技术涉及图像处理
,尤其涉及一种在复杂背景下的条形码定位方法、存储介质和计算机。

技术介绍

[0002]条形码在社会中的应用普遍,尽管二维码具有更强的存储量与可靠性,但一维条形码仍具备成本低廉、制作简便等优势,因此在工业生产或一些特定行业中,往往条形码更能符合需求。
[0003]然而,需要识别的条形码往往会处于较复杂的背景上,识别解码前须加上定位算法,将条形码部分从整体背景图片上抠出,但考虑到光照条件、背景多样性等因素,从图像的灰度特征、形态特征入手定位,显然难以达到目的。
[0004]因此,有必要提出一种改进的方案来克服上述问题。

技术实现思路

[0005]本专利技术的目的在于提供一种条形码定位方法、存储介质和计算机,其不受光照影响和背景干扰,可以准确地将条形码区域在整张图像中定位,且速度较快,定位整体的鲁棒性较好。
[0006]为实现专利技术目的,根据本专利技术的一个方面,本专利技术提供一种条形码定位方法,其包括:获取包括条形码的灰度图像;将所述灰度图像栅格化;计算每个栅格的纹理特征值,每个栅格的纹理特征值为该栅格的行灰度变化均值与该栅格的列灰度变化均值的比值;对所述栅格的纹理特征值进行分析得到条形码区域;和根据所述条形码区域的栅格集的外接矩形切割得到所述条形码区域。
[0007]根据本专利技术的另一个方面,本专利技术提供一种存储介质,其存储有程序指令,在所述程序执行被运行上文所述的条形码定位方法。
[0008]根据本专利技术的再一个方面,本专利技术提供一种计算机,其包括处理器和存储器,所述存储器中存储有程序指令,所述处理器运行所述程序指令以执行上文所述的条形码定位方法。
[0009]与现有技术相比,本专利技术基于条形码的纹理特征,采用传统图像算法将条形码图像进行预处理,定位到条形码在复杂背景下的位置,将条形码区域分割出来,不受光照影响和背景干扰,可以准确地将条形码区域在整张图像中定位,且速度较快,定位整体的鲁棒性较好。
附图说明
[0010]图1为本专利技术中的条形码定位方法在一个实施例中的流程示意图;
[0011]图2为本专利技术中的包括有条形码的灰度图像的示例;
[0012]图3位本专利技术中的将所述灰度图像的格栅纹理特征值归一化的可视图。
具体实施方式
[0013]为更进一步阐述本专利技术为达成预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本专利技术的具体实施方式、结构、特征及其功效,详细说明如下。
[0014]本专利技术提出一种在复杂背景下的条形码定位方法、存储介质和计算机,其不受光照影响和背景干扰,可以准确地将条形码区域在整张图像中定位,且速度较快,定位整体的鲁棒性较好,为后续识码解码提供了良好条件。
[0015]图1为本专利技术中的条形码定位方法100在一个实施例中的流程示意图。如图1所示的,所述条形码定位方法100包括如下步骤。
[0016]步骤110,获取包括条形码的灰度图像。
[0017]在一个实施例中,可以将拍摄的包括条形码的图像转换为灰度图像。如图2所示的,其示出了一张包括条形码的灰度图像。
[0018]步骤120,将所述灰度图像栅格化。
[0019]具体的,根据灰度图像和条形码的大小将所述灰度图像栅格化。每个栅格在条形码的条形符的长度方向上的边长不超过所述条形码的条形符的长度,每个栅格在条形码的条形符的宽度方向上的边长不小于所述条形码的条形符的宽度。这样,可以保证所述条形码内可以包括多个栅格,并且每个栅格中都能凸显条形码的纹理特征。
[0020]需要注意的是,此时已经根据现有传统算法粗定位出所述灰度图像中是否有条形码以及条形码的尺寸。
[0021]步骤130,计算每个栅格的纹理特征值,每个栅格的纹理特征值为该栅格的行灰度变化均值与该栅格的列灰度变化均值的比值。
[0022]考虑到条形码的特征,是在横轴方向进行黑白跳变(“0”“1”变化)以储存信息,而纵轴黑白无跳变,因此采用横向与纵向的灰度变化值均值的比值作为栅格的纹理特征值。如图2所示的,所述条形码是横向排布的。
[0023]具体的,在每个栅格中计算第i行与第(i

1)行的灰度差值,和第j列与第(j

1)列的灰度差值,累计计算行灰度差值之和与列灰度差值之和,再分别除以每个栅格的行数N与列数M得到行灰度差值的均值以及列灰度差值的均值,然后计算这两个数据的比值,得到每个栅格的纹理特征值。
[0024]更为具体的,按照如下公式计算每个栅格的纹理特征值:
[0025][0026]其中,x(i,j)为在每个栅格中处于第i列第j行的灰度值,N为每个栅格的行数,M为每个栅格的列数。
[0027]图3位本专利技术中的将所述灰度图像的格栅纹理特征值归一化的可视图。
[0028]步骤140,对所述栅格的纹理特征值进行分析得到条形码区域。
[0029]在一个实施例中,该步骤140包括如下步骤:
[0030]步骤141,将每个栅格的纹理特征值与纹理特征阈值进行比较以确定该栅格是否位于条形码区域的候选区。因为条形码在横轴方向进行灰度跳变,而纵轴无跳变,所以若是
纹理特征值大于1,则说明横轴方向灰度变化比纵轴大,即为条形码区域的待选区,而纹理特征值小于等于1,则说明非条形码区域特征,必然是背景区域,即所述纹理特征阈值为1。
[0031]需要说明的是,上述是以条形码横向排布为例进行介绍,如果条形码竖向排布,则正好相反,此时只需将该栅格的行灰度变化均值与该栅格的列灰度变化均值的比值倒过来就行。换话说,本专利技术中的该栅格的行灰度变化均值与该栅格的列灰度变化均值的比值,既可以是行灰度变化均值除以列灰度变化均值,也可以是列灰度变化均值除以行灰度变化均值,采用哪个比值,取决于所述条形码排布的方向。
[0032]步骤142,采用聚类方法对所述条形码区域的候选区的栅格的纹理特征值进行二次分析得到条形码区域。
[0033]具体的,可以采用聚类方法对所述条形码区域的候选区的栅格的纹理特征值自动划分成两类,由于在此需要的聚类较为简单,可以采用K

Means聚类方法。若两类中心值相差较大,比如大于预定值,则判定中心值较小的区域为字符区域,而中心值较大的区域为条形码区域;若两类中心值相差较小,比如小于预定值,则判定在条形码候选区内无字符区域,两类皆为条形码区域。
[0034]步骤150,根据所述条形码区域的栅格集的外接矩形在原图中切割得到所述条形码区域,以供后续识码解码。
[0035]这样,本专利技术中的条形码定位方法不受光照影响和背景干扰,可以准确地将条形码区域在整张图像中定位,且速度较快,定位整体的鲁棒性较好,为后续识码解码提供了良好条件。
[0036]根据本专利技术的另一个方面,本专利技术提供一种存储介质,其存储有程序指令,在所述程序执行被运行以执行上文所述条形码定位方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种条形码定位方法,其特征在于,其包括:获取包括条形码的灰度图像;将所述灰度图像栅格化;计算每个栅格的纹理特征值,每个栅格的纹理特征值为该栅格的行灰度变化均值与该栅格的列灰度变化均值的比值;对所述栅格的纹理特征值进行分析得到条形码区域;和根据所述条形码区域的栅格集的外接矩形切割得到所述条形码区域。2.如权利要求1所述的条形码定位方法,其特征在于,所述获取包括条形码的灰度图像包括:将拍摄的包括条形码的图像转换为灰度图像。3.如权利要求1所述的条形码定位方法,其特征在于,根据灰度图像和条形码的大小将所述灰度图像栅格化,每个栅格在条形码的条形符的长度方向上的边长不超过所述条形码的条形符的长度,每个栅格在条形码的条形符的宽度方向上的边长不小于所述条形码的条形符的宽度。4.如权利要求1所述的条形码定位方法,其特征在于,在将所述灰度图像栅格化前,其还包括:粗定位出所述灰度图像中是否有条形码以及条形码的尺寸。5.如权利要求1所述的条形码定位方法,其特征在于,所述计算每个栅格的纹理特征值包括:在每个栅格中计算第i行与第(i

1)行的灰度差值,和第j列与第(j

1)列的灰度差值,累计计算行灰度差值之和与列灰度差值之和,再分别除以每个栅格的行数N与列数M得到行灰度差值的均值以及列灰度差值的均值,然后计算这两个...

【专利技术属性】
技术研发人员:韩旭颜聪吴悦帆
申请(专利权)人:东声苏州智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1