一种条形码定位方法与流程

文档序号:12468023阅读:1234来源:国知局
一种条形码定位方法与流程

本发明涉及图像识别域,特别涉及一种条形码定位方法。



背景技术:

随着信息技术的发展,条形码已经成为可标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息的载体,在商品流通、图书管理、邮政管理、银行系统等多个领域都得到广泛的应用。条形码技术由于其准确、快速、方便、经济的特点,已经渗透到各行各业和人们的日常生活中。

利用条形码来实现对象的识别方法如下:首先利用摄像头获取条形码图像,然后通过图像处理、模式识别等技术提取出可供识别的条形码,进一步根据条形码的编码技术确定出条形码所标识的对象信息,实现交互对象的识别。然而,利用摄像头拍摄条形码时,不可避免地会摄入与条形码无关的部分,因此,如何将条形码从整幅图像中准确地定位提取出来,是后续条形码识别的前提。



技术实现要素:

本发明的主要目的在于克服现有技术的缺陷,提供一种减少噪声的影响,更加稳定的条形码定位方法。

为达成上述目的,本发明提供一种条形码定位方法,包括以下步骤:

S1:撷取图像信息;

S2:提取所述图像信息中的竖条纹,获取竖条纹图像;

S3:设定阈值,将所述竖条纹图像中每一个像素的数值与该阈值比较,以得到各像素的像素值为1和0的细长竖条纹图像;

S4:以像素值1替换像素值0的方式填充所述细长竖条纹图像中的空隙部分,以获得表征条形码覆盖范围的矩形图像;

S5:获得所述矩形图像的长宽及起始点以定位所述条形码的范围。

优选地,步骤S1中,以彩色相机拍摄图像并转换成黑白的图像信息或以黑白相机拍摄图像获得黑白的图像信息。

优选地,步骤S2包括:

S21:对所述图像信息进行Scharr算子变换,得到每一像素的竖直梯度分量和水平梯度分量;

S22:将每一所述像素的竖直梯度分量减去其水平梯度分量以得到该像素的高竖直梯度分量,其中若相减结果小于零时所述高竖直梯度分量取0;以及

S23:将每一所述像素的高竖直梯度分量作为其像素值,得到所述竖条纹图像。

优选地,步骤S22和S23之间还包括:

将所述图像信息的全部像素划分为多个像素组,每个像素组包括M×N个像素,M和N均为大于1的正整数;

将每个所述像素组中的各像素的高竖直梯度分量替换为该像素组中全部像素的高竖直梯度分量的平均值。

优选地,步骤S3包括:

S31:设定初始临界值,将小于该初始临界值的像素值替换为0,将大于等于该初始临界值的像素值取平均值,以该平均值作为所述阈值;

S32:将每一所述像素值与所述阈值比较,将小于所述阈值的像素值替换为0,将大于或等于所述阈值的像素值替换为1,以获得所述细长竖条纹图像。

优选地,步骤S4包括:

S41:设定长度为P个像素、宽度为Q个像素的矩形,P和Q均为大于等于3的奇数;

S42:对所述细长竖条纹图像中每一个像素值为1的像素,将以其为中心的该矩形范围内的所有像素的像素值替换为1。

优选地,所述步骤S42后还包括至少一次形态学膨胀变换的步骤。

优选地,所述步骤S5包括:

S51:对所述矩形图像的每一行像素沿水平方向遍历,对于首个像素值为1、或前一个像素值为0且像素值为1的像素从1开始计数,当像素值为0时中断计数,获得所述矩阵图像的水平方向最大计数值及该水平方向最大计数值所对应的像素位置;

S52:对所述矩形图像的每一列像素沿竖直方向遍历,对于首个像素值为1、或前一个像素值为0且像素值为1的像素从1开始计数,当像素值为0时中断计数,获得所述矩阵图像的竖直方向最大计数值及该竖直方向最大计数值所对应的像素位置;以及

S53:根据上述水平方向最大计数值及该水平方向最大计数值所对应的像素位置、竖直方向最大计数值及该竖直方向最大计数值所对应的像素位置获得所述矩形图像的长宽及起始点。

本发明先通过阈值滤除图像噪声获得细长的竖条纹图像,再对细长的竖条纹图像中的孔隙做填充得到矩形图像,从而能够简便地确定条形码方框的位置,提高条形码区域定位的稳定性。

附图说明

图1所示为本发明一实施例的条形码定位方法的流程图;

图2a和2b所示为本发明一实施例的条形码定位方法中步骤S4的示意图。

具体实施方式

为使本发明的内容更加清楚易懂,以下结合说明书附图,对本发明的内容作进一步说明。当然本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。

请参见图1,本发明的条形码定位方法包括以下步骤:

S1:撷取图像信息。

本步骤中,通过相机摄像头拍摄图像,得到图像信息。相机可以是彩色相机,也可以是黑白相机。当采用彩色相机拍摄图像时,要将拍摄的图像信息转换成黑白的图像信息;当采用黑白相机拍摄图像时,可直接获取黑白的图像信息。

S2:提取图像信息中的竖条纹,获取竖条纹图像。

本步骤中,首先对图像信息进行Scharr算子变换,得到图像中每一个像素的竖直梯度分量和水平梯度分量。然后,用每一个像素的竖直梯度分量减去这个像素的水平梯度分量,可以得到这个像素的高竖直梯度分量,通过这一步骤可以去除水平梯度分量的干扰、强化竖直梯度分量。其中,若竖直梯度分量与水平梯度分量的相减结果小于0,则还是取高竖直梯度分量为0。此时,每个像素的高竖直梯度分量范围仍在0~255之内。在一优选实施例中,在得到每个像素的高竖直梯度分量以后,还包括一个均值模糊步骤。例如将全部像素划分为多个像素组,每个像素组有相同个数的像素,将每个像素组中每个像素的高竖直梯度分量替换为该像素组全部像素的高竖直梯度分量的平均值。接着,将每一个像素的高竖直梯度分量作为这个像素的像素值,得到一个竖条纹图像。此时,竖条纹图像中每个像素的像素值仍在0~255范围内。

S3:设定阈值,将竖条纹图像中每一个像素的数值与该阈值比较,以得到各像素的像素值为1和0的细长竖条纹图像。

本步骤中,先设定一个数值较小的初始临界值,将小于该初始临界值的像素值替换为0,对于其余大于等于该初始临界值的像素值则求取平均值,将这个平均值设定为阈值。然后,将每一个像素值与阈值比较,将小于阈值的像素值替换为0,将大于或等于阈值的像素值替换为1,就从而获得细长竖条纹图像。通过先设定较小的初始临界值,能够筛除一部分图像噪声,对于剩下的图像信息再以其平均值设定阈值并进行基于阈值比较的筛选,最终能够得到更为准确的与条形码相关的细长竖条纹图像。

S4:以像素值1替换像素值0的方式填充细长竖条纹图像中的空隙部分,以获得表征条形码覆盖范围的矩形图像。

本步骤中,可通过矩形扩展的方式填充细长竖条纹图像中的孔隙部分。具体来说,设定长度为P个像素、宽度为Q个像素的矩形(P和Q均为大于等于3的奇数),然后对细长竖条纹图像中每一个像素值为1的像素,将以其为中心的该矩形范围内的所有像素的像素值替换为1。如图2a所示,在一实施例中,方框内为长度为5个像素、宽度为3个像素的矩形。对于像素值为1的像素A来说,将围绕其周围的14个像素也均转换为1。对于每个像素值为1的像素均进行上述的小矩形填充,最终可以将细长竖条纹之间的空隙填充,并得到一个矩形图像。矩形图像的区域范围也即是条形码的大致区域范围。在另一优选实施例中,在进行小矩形填充后,还可以再进行形态学的膨胀变换,膨胀次数可根据实际需求设定,一般选取的次数为5次膨胀。

S5:获得矩形图像的长宽及起始点以定位条形码的范围。

由于矩形图像的范围大致等于条形码的范围,因此定位矩形图像的长宽及起始点也就定位了条形码的范围和起始点。本步骤中,需对矩形图像的每一行像素沿水平方向遍历,对矩形图像的每一列像素沿竖直方向遍历。具体来说,在对每一行沿水平方向遍历,例如从左往右遍历时,对于该行沿遍历方向首个像素值为1、或前一个像素值为0且像素值为1的像素从1开始计数,当像素值为0时中断计数,获得矩阵图像的水平方向最大计数值及该水平方向最大计数值所对应的像素位置。举例来说,假设第i行第j个像素是第一个像素值为1的像素,则其计数为1,若该行第j+1个像素的像素值也是1,那么继续计数为2,一直到第j+n个像素的像素值为1,那么计数为n+1;若第j+n+1个像素的像素值为0,那么计数中断为0;若第j+n+2个像素的像素值为1,那么重新从1开始计数。以此类推,直到这一行结束。遍历完所有行之后,得以得到整个矩形图像各行中水平方向最大的计数值pixel_max_hor,以及这个计数值pixel_max_hor所对应的像素的位置,例如为第i行的第j个像素(i,j),那么条形码区域的长度为pixel_max_hor个像素单位长度。同样的,对每一列沿竖直方向遍历时,例如从上往下,对于遍历方向首个像素值为1、或前一个像素值为0且像素值为1的像素从1开始计数,当像素值为0时中断计数,获得矩阵图像的竖直方向最大计数值及该竖直方向最大计数值所对应的像素位置。假设竖直方向最大计数值为pixel_max_ver,以及这个计数值pixel_max_ver所对应的像素的位置,例如为第k列的第l个像素(l,k),那么条形码区域的宽度为pixel_max_ver个像素单位长度。最终,根据上述水平方向最大计数值及该水平方向最大计数值所对应的像素位置、竖直方向最大计数值及该竖直方向最大计数值所对应的像素位置获得矩形图像,即条形码区域的长宽和起始点。条形码区域的起始点为(j-pixel_max_hor,k-pixel_max_ver),条形码区域长宽范围为:长度方向从j-pixel_max_hor至j,宽度方向从k-pixel_max_ver至k。

综上所述,本发明先通过优化的阈值滤除图像噪声方法获得细长的竖条纹图像,再对细长的竖条纹图像中的孔隙做填充得到矩形图像,从而能够简便地确定条形码方框的位置,提高条形码区域定位的稳定性。

虽然本发明已以较佳实施例揭示如上,然所述诸多实施例仅为了便于说明而举例而已,并非用以限定本发明,本领域的技术人员在不脱离本发明精神和范围的前提下可作若干的更动与润饰,本发明所主张的保护范围应以权利要求书所述为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1