一种条形码定位方法技术

技术编号:15501640 阅读:109 留言:0更新日期:2017-06-03 22:54
本发明专利技术公开了一种条形码定位方法,包括以下步骤:撷取图像信息;提取所述图像信息中的竖条纹,获取竖条纹图像;设定阈值,将所述竖条纹图像中每一个像素的数值与该阈值比较,以得到各像素的像素值为1和0的细长竖条纹图像;以像素值1替换像素值0的方式填充所述细长竖条纹图像中的空隙部分,以获得表征条形码覆盖范围的矩形图像;以及获得所述矩形图像的长宽及起始点以定位所述条形码的范围。本发明专利技术能够简单准确地实现条形码定位。

Bar code positioning method

The invention discloses a barcode positioning method, which comprises the following steps: extracting image information extraction; vertical stripes in the image information acquisition, image threshold, vertical stripes; the vertical stripes in the image of each pixel and the value of the threshold comparison, in order to get each pixel value of slender vertical 1 and 0 of the fringe image; pixel values 1 replace pixel values of 0 ways to fill the void in the image of slender vertical stripes, with rectangular image obtained bar code coverage; and the range of the length and width of the starting point of the rectangular image to locate the barcode. The invention can simply and accurately realize the bar code positioning.

【技术实现步骤摘要】
一种条形码定位方法
本专利技术涉及图像识别域,特别涉及一种条形码定位方法。
技术介绍
随着信息技术的发展,条形码已经成为可标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息的载体,在商品流通、图书管理、邮政管理、银行系统等多个领域都得到广泛的应用。条形码技术由于其准确、快速、方便、经济的特点,已经渗透到各行各业和人们的日常生活中。利用条形码来实现对象的识别方法如下:首先利用摄像头获取条形码图像,然后通过图像处理、模式识别等技术提取出可供识别的条形码,进一步根据条形码的编码技术确定出条形码所标识的对象信息,实现交互对象的识别。然而,利用摄像头拍摄条形码时,不可避免地会摄入与条形码无关的部分,因此,如何将条形码从整幅图像中准确地定位提取出来,是后续条形码识别的前提。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺陷,提供一种减少噪声的影响,更加稳定的条形码定位方法。为达成上述目的,本专利技术提供一种条形码定位方法,包括以下步骤: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:获得矩形图像的长宽及起始点以定位条形码的范围。由于矩形图像的范围大致等于条形码的范围,因此定位矩形图像的长宽及本文档来自技高网...
一种条形码定位方法

【技术保护点】
一种条形码定位方法,其特征在于,包括以下步骤:S1:撷取图像信息;S2:提取所述图像信息中的竖条纹,获取竖条纹图像;S3:设定阈值,将所述竖条纹图像中每一个像素的数值与该阈值比较,以得到各像素的像素值为1和0的细长竖条纹图像;S4:以像素值1替换像素值0的方式填充所述细长竖条纹图像中的空隙部分,以获得表征条形码覆盖范围的矩形图像;以及S5:获得所述矩形图像的长宽及起始点以定位所述条形码的范围。

【技术特征摘要】
1.一种条形码定位方法,其特征在于,包括以下步骤:S1:撷取图像信息;S2:提取所述图像信息中的竖条纹,获取竖条纹图像;S3:设定阈值,将所述竖条纹图像中每一个像素的数值与该阈值比较,以得到各像素的像素值为1和0的细长竖条纹图像;S4:以像素值1替换像素值0的方式填充所述细长竖条纹图像中的空隙部分,以获得表征条形码覆盖范围的矩形图像;以及S5:获得所述矩形图像的长宽及起始点以定位所述条形码的范围。2.根据权利要求1所述的条形码定位方法,其特征在于,步骤S1中,以彩色相机拍摄图像并转换成黑白的图像信息或以黑白相机拍摄图像获得黑白的图像信息。3.根据权利要求1所述的条形码定位方法,其特征在于,步骤S2包括:S21:对所述图像信息进行Scharr算子变换,得到每一像素的竖直梯度分量和水平梯度分量;S22:将每一所述像素的竖直梯度分量减去其水平梯度分量以得到该像素的高竖直梯度分量,其中若相减结果小于零时所述高竖直梯度分量取0;以及S23:将每一所述像素的高竖直梯度分量作为其像素值,得到所述竖条纹图像。4.根据权利要求3所述的条形码定位方法,其特征在于,步骤S22和S23之间还包括:将所述图像信息的全部像素划分为多个像素组,每个像素组包括M×N个像素,M和N均为大于1的正整数;将每个所述像素组中的各像素的高竖直梯度分量替换为该像素组中全部像素的高竖直梯度分量的平均值。5.根据权利要求1所述的条形码定位方法,其特征在于,步骤S3包括:S31:设定初始临界值,...

【专利技术属性】
技术研发人员:李赟晟王勇叶红磊王凯
申请(专利权)人:上海集成电路研发中心有限公司成都微光集电科技有限公司
类型:发明
国别省市:上海,31

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

1