一种条形码定位方法、装置及相关设备与流程

文档序号:21982098发布日期:2020-08-25 19:18阅读:137来源:国知局
一种条形码定位方法、装置及相关设备与流程

本申请涉及图像处理技术领域,特别涉及一种条形码定位方法,还涉及一种条形码定位装置、设备以及计算机可读存储介质。



背景技术:

随着信息技术的发展,条形码技术已广泛应用于自动化管理的各个领域,具有准确快速、方便经济的特点,给各行业的事务管理带来了极大便利。

条形码是用以表达一组信息的图形标识符,具体可标出物品的生产国、制造厂商、商品名称、生产日期、图书分类号、邮件起始地点、类别、日期等信息。当通过专业的识别设备对其进行识别检测时,即可获得各类相关信息,而在条形码检测过程中,条形码的定位成为最基础且最重要的环节。

在现有的条形码定位过程中,首先,利用摄像头获取条形码图像,进一步,通过图像处理、模式识别等技术对其进行条形码区域的定位,从而实现对条形码区域中条形码的识别检测。然而,在利用摄像头获取条形码图像时,不可避免的会摄入与条形码无关的背景部分,如快递单的背景,因此,在条形码定位过程中,很容易受到复杂多变的背景噪声的干扰,出现条形码定位不准确的问题,从而影响后续条形码的识别检测结果。

因此,如何有效提高条形码定位的准确度,以保证条形码的正常识别是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种条形码定位方法,该条形码定位方法可有效提高条形码定位的准确度,保证了后续条形码的正常识别;本申请的另一目的是提供一种条形码定位装置、设备以及计算机可读存储介质,也具有上述有益效果。

为解决上述技术问题,本申请提供了一种条形码定位方法,包括:

接收图像采集设备采集的待定位图像;

通过自适应阈值算法对所述待定位图像进行分割处理,确定面单区域;

利用sobel算子对所述面单区域进行边缘检测,获得梯度强度图;

在所述梯度强度图中进行条形码定位,确定条形码区域。

优选的,所述通过自适应阈值算法对所述待定位图像进行分割处理,确定面单区域之前,还包括:

对所述待定位图像进行灰度转换,获得灰度图。

优选的,所述通过自适应阈值算法对所述待定位图像进行分割处理,确定面单区域,包括:

根据预设分割阈值对所述灰度图进行分割,获得第一前景图和第一背景图;

计算所述第一前景图的灰度均值和所述第一背景图的灰度均值;

计算所述第一前景图的灰度均值和所述第一背景图的灰度均值的平均值,获得第一分割阈值;

根据所述第一分割阈值对所述第一前景图进行分割,获得第二前景图和第二背景图;

计算所述第二前景图的灰度均值和所述第二背景图的灰度均值;

判断所述第二前景图的灰度均值与所述第一前景图的灰度均值是否相等,且所述第二背景图的灰度均值与所述第一背景图的灰度均值是否相等;

若否,则计算所述第二前景图的灰度均值和所述第一前景图的灰度均值的平均值,获得第二分割阈值;并根据所述第二分割阈值对所述第二前景图进行分割,直至当前前景图的灰度均值与上一前景图的灰度均值相等,且当前背景图的灰度均值与上一背景图的灰度均值相等;

将所述当前前景图作为所述面单区域。

优选的,所述通过自适应阈值算法对所述待定位图像进行分割处理,确定面单区域之后,还包括:

对所述面单区域进行归一化处理,获得标准面单区域。

优选的,所述利用sobel算子对所述面单区域进行边缘检测,获得梯度强度图,包括:

在所述面单区域内建立图像坐标系;

在所述图像坐标系内,按照预设角度间隔建立预设数量个sobel算子组;

以起始角度sobel算子组为起点,以终止角度sobel算子组为终点,依次对所述面单区域进行边缘检测,获得所述梯度强度图。

优选的,所述在所述梯度图强度中进行条形码定位,确定条形码区域,包括:

对所述梯度强度图进行高斯滤波处理,获得滤波图;

对所述滤波图进行二值化处理,获得二值化图像;

通过形态学操作对所述二值化图像进行膨胀腐蚀和空隙填充,获得形态学图像;

利用最大外接矩形算法在所述形态学图像中确定所述条形码区域。

优选的,所述条形码的定位方法还包括:

通过霍夫变换算法计算所述条形码区域相对于水平方向的第一偏转角;

通过轮廓查找算法计算所述条形码区域相对于水平方向的第二偏转角;

计算所述第一偏转角和所述第二偏转角的均值;

根据所述均值对所述条形码区域进行矫正处理,获得矫正后条形码区域。

为解决上述技术问题,本申请还提供了一种条形码定位装置,包括:

图像获取模块,用于接收图像采集设备采集的待定位图像;

图像分割模块,用于通过自适应阈值算法对所述待定位图像进行分割处理,确定面单区域;

边缘检测模块,用于利用sobel算子对所述面单区域进行边缘检测,获得梯度强度图;

条形码定位模块,用于在所述梯度强度图中进行条形码定位,确定条形码区域。

为解决上述技术问题,本申请还提供了一种条形码定位设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任意一种条形码定位方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种条形码定位方法的步骤。

本申请所提供的一种条形码定位方法,包括接收图像采集设备采集的待定位图像;通过自适应阈值算法对所述待定位图像进行分割处理,确定面单区域;利用sobel算子对所述面单区域进行边缘检测,获得梯度强度图;在所述梯度强度图中进行条形码定位,确定条形码区域。

可见,本申请所提供的条形码定位方法,在获得待定位图像之后,进行条形码定位之前,先通过自适应阈值算法对其进行分割处理,获得包括条形码的面单区域,由此,即可将与条形码无关的背景部分剔除,有效避免其所带来的各种可能性干扰,如突发噪声干扰、灰度变化复杂度高等的影响,进一步,在基于面单区域进行后续的边缘检测以及定位时,可大大提升条形码定位结果的准确性,从而保证后续条形码识别过程的正常进行。

本申请所提供的一种条形码定位装置、设备以及计算机可读存储介质,均具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请所提供的一种条形码定位方法的流程示意图;

图2为本申请所提供的一种条形码矫正方法的流程示意图;

图3为本申请所提供的一种条形码定位装置的结构示意图;

图4为本申请所提供的一种条形码定位设备的结构示意图。

具体实施方式

本申请的核心是提供一种条形码定位方法,该条形码定位方法可有效提高条形码定位的准确度,保证了后续条形码的正常识别;本申请的另一核心是提供一种条形码定位装置、设备以及计算机可读存储介质,也具有上述有益效果。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

请参考图1,图1为本申请所提供的一种条形码定位方法的流程示意图,该条形码定位方法可以包括:

s101:接收图像采集设备采集的待定位图像;

本步骤旨在实现待定位图像的获取,该待定位图像即为需要进行条形码定位的图像,此过程可基于图像采集设备实现,而对于该图像采集设备的具体种类和型号,本申请不做限定,可以为移动终端相机、专业摄像头等;进一步,图像采集设备即可将其捕获的待定位图像发送至用于实现条形码定位功能的处理器进行后续流程。

s102:通过自适应阈值算法对待定位图像进行分割处理,确定面单区域;

本步骤旨在实现待定位图像的分割处理,其具体实现过程可基于自适应阈值算法实现,从而获得面单区域,其中,该面单区域即为待定位图像中滤除掉无关背景部分,仅包括条形码信息的区域。例如,对于一份快递而言,一般会在包裹上贴上快递单,但基于图像采集设备进行图像采集时,只将快递单摄入的操作一般难以实现,因此所获得的待定位图像中多数会包括包裹的一部分,而由于光线不均、灰度变化较大等问题,势必会给后续的条形码定位带来较大的影响,当通过自适应阈值算法对待定位图像进行分割处理后,即可获得仅包括快递单的图像,也即上述面单区域。

其中,对于上述自适应阈值算法,对应的阈值标准的类型并不唯一,如可以为中值、均值、高斯卷积等,并不影响本技术方案的实施。

作为一种优选实施例,上述通过自适应阈值算法对待定位图像进行分割处理,确定面单区域之前,还可包括:对待定位图像进行灰度转换,获得灰度图。

具体的,一般图像采集设备采集的图像多为彩色照片,而颜色变化的复杂性会给条形码的定位工作带来较大影响,因此,在获得待定位图像后,可对其进行灰度转换,获得对应的灰度图,进一步,即可基于该灰度图进行后续的图像分割操作,有效提高了条形码定位结果的准确性。

优选的,上述通过自适应阈值算法对待定位图像进行分割处理,确定面单区域的过程,具体可包括:根据预设分割阈值对灰度图进行分割,获得第一前景图和第一背景图;计算第一前景图的灰度均值和第一背景图的灰度均值;计算第一前景图的灰度均值和第一背景图的灰度均值的平均值,获得第一分割阈值;根据第一分割阈值对第一前景图进行分割,获得第二前景图和第二背景图;计算第二前景图的灰度均值和第二背景图的灰度均值;判断第二前景图的灰度均值与第一前景图的灰度均值是否相等,且第二背景图的灰度均值与第一背景图的灰度均值是否相等;若否,则计算第二前景图的灰度均值和第一前景图的灰度均值的平均值,获得第二分割阈值;并根据第二分割阈值对第二前景图进行分割,直至当前前景图的灰度均值与上一前景图的灰度均值相等,且当前背景图的灰度均值与上一背景图的灰度均值相等;将当前前景图作为面单区域。

其中,上述预设分割阈值的获取过程可包括:计算灰度图的最大灰度值和最小灰度值,计算最大灰度值和最小灰度值的平均值,并将该平均值作为上述预设分割阈值。

以下,通过举例对上述图像分割过程进行详细阐述:

首先,获取待定位图像的灰度图,计算灰度图中的最大灰度值xmax和最小灰度值xmin,通过t0=(xmax+xmin)/2获得预设分割阈值t0;进一步,按照该预设分割阈值s1将灰度图分割为前景s1和背景s2,并计算前景s1的灰度均值a1和背景s2的灰度均值a2,由此,令t=(a1+a2)/2作为新的分割阈值对前景s1进行分割,重复迭代上述分割过程,直至a1和a2不再发生变化,即当前迭代处理获得的a1和a2分别与上次迭代获得的a1和a2相等,由此,则说明当前获得的前景图像不再包括与条形码无关的背景部分,该前景图即为面单区域。

作为一种优选实施例,上述通过自适应阈值算法对待定位图像进行分割处理,确定面单区域之后,还可以包括:对面单区域进行归一化处理,获得标准面单区域。

本步骤旨在实现图像的归一化处理,可有效简化计算,缩小量值,具体可将上述获得的面单区域归一化值800*600以内,获得标准面单区域,更加方便后续图像边缘检测以及条形码定位的进行。

s103:利用sobel算子对面单区域进行边缘检测,获得梯度强度图;

本步骤旨在实现面单区域的边缘检测,其具体实现过程可基于sobel算子实现,进一步获得对应的具有较强特征的梯度图,即上述梯度强度图。

作为一种优选实施例,上述利用sobel算子对面单区域进行边缘检测,获得梯度强度图的过程具体可包括:在面单区域内建立图像坐标系;在图像坐标系内,按照预设角度间隔建立预设数量个sobel算子组;以起始角度sobel算子组为起点,以终止角度sobel算子组为终点,依次对面单区域进行边缘检测,获得梯度强度图。

一般在sobel算子进行边缘检测时,都是基于一组sobel算子实现,为进一步保证条形码定位的准确性,本申请新增多组sobel算子,实现梯度强度图的获取。具体而言,首先,在面单区域内建立图像坐标系,按照预设角度间隔设置sobel算子组,当然,对于该预设角度间隔和sobel算子组数量的具体取值,本申请不做具体限定,例如,在本申请中设置预设角度间隔为30度,设置上述预设数量为3个,由此,3个sobel算子组的分布情况如下:0度方向(即图像坐标系x轴)和90°方向(即图像坐标系y轴)的sobel算子组;30度方向和120度方向的sobel算子组;60度方向和150度方向的sobel算子组。进一步,以起始角度sobel算子组(0度方向和90°方向的sobel算子组)为起点,以终止角度sobel算子组(60度方向和150度方向的sobel算子组)为终点,依次对面单区域进行边缘检测,即将依次对每个sobel算子组得到的两个方向的梯度图进行相减,由此,对应获得的梯度图的特征将不断加强,从而获得最终的梯度强度图。

s104:在梯度强度图中进行条形码定位,确定条形码区域。

本步骤旨在实现条形码的定位,从而获得对应的条形码区域。对于其具体定位实现过程,可采用已有技术中的任意一种,本申请对此不进行限定。

优选的,上述在梯度强度图中进行条形码定位,确定条形码区域的过程,具体可包括:对梯度强度图进行高斯滤波处理,获得滤波图;对滤波图进行二值化处理,获得二值化图像;通过形态学操作对二值化图像进行膨胀腐蚀和空隙填充,获得形态学图像;利用最大外接矩形算法在形态学图像中确定条形码区域。

本申请提供了一种较为具体的条形码定位的实现方法,具体而言,上述基于sobel算子获得的梯度强度图中的条形码区域相对于其他区域是没有明显特征的,为此,可先对该梯度强度图进行高斯滤波,获得对应的滤波图,以将梯度强度图的干扰区域削弱;进一步,利用255的阈值对该滤波图进行二值化处理,获得二值化图像,此时,该二值化图像上的条形码区域是存在间隙的,因此,可进一步通过形态学操作对其进行多次膨胀腐蚀和空隙填充,获得相应的形态学图像;最后,利用最大外接矩形算法找到形态学图像中的所有轮廓,并选择其中最大的轮廓框,该轮廓框所覆盖的区域即为条形码区域,由此,即实现了条形码区域的获取。

本申请所提供的条形码定位方法,在获得待定位图像之后,进行条形码定位之前,先通过自适应阈值算法对其进行分割处理,获得包括条形码的面单区域,由此,即可将与条形码无关的背景部分剔除,有效避免其所带来的各种可能性干扰,如突发噪声干扰、灰度变化复杂度高等的影响,进一步,在基于面单区域进行后续的边缘检测以及定位时,可大大提升条形码定位结果的准确性,从而保证后续条形码识别过程的正常进行。

一般而言,基于上述条形码的定位操作所获得的条形码区域多存在一定的角度偏转,因此,为便于后续条形码识别过程的正常进行,本申请所提供的条形码识别方法增加了条形码矫正过程,以提高条形码识别的准确度。

在上述实施例的基础上,作为一种优选实施例,请参考图2,图2为本申请所提供的一种条形码矫正方法的流程示意图,该条形码矫正方法可包括:

s201:通过霍夫变换算法计算条形码区域相对于水平方向的第一偏转角;

s202:通过轮廓查找算法计算条形码区域相对于水平方向的第二偏转角;

s203:计算第一偏转角和第二偏转角的均值;

s204:根据均值对条形码区域进行矫正处理,获得矫正后条形码区域。

本步骤融合霍夫变换算法和轮廓查找算法实现了条形码偏转角的确定,分别基于霍夫变换算法和轮廓查找算法对条形码的偏转角进行了计算,获得了对应的第一偏转角和第二偏转角,进一步计算二者均值,并将该均值作为条形码区域的偏转角对条形码区域进行矫正处理,从而获得矫正后条形码区域,有效减少了偏转角误差。其中,上述第一偏转角和第二偏转角均是相对于水平方向的。需要说明的是,对于上述s201和s202的执行顺序,本申请不做限定,二者可同时执行,也可按照先后顺序执行,不影响本技术方案的实施。

其中,对于上述第一偏转角的计算,可直接在获得的条形码区域中进行霍夫变换查找黑白条直线,计算其与水平方向的偏转角,即获得第一偏转角。

其中,对于上述第二偏转角的计算,由于条形码区域存在倾斜情况,首先在条形码区域中查找条形码轮廓,并拟合条形码轮廓外接倾斜矩形,得到最紧凑外接矩形;进一步,即可根据最紧凑外接矩形的长边确定相对于水平方向的第二偏转角。其中,上述条形码轮廓的查找过程可包括:由于获取的条形码区域中条形码占据主体,背景信息较少,且条形码由黑白条相间构成,由此,挖空黑条内部像素即可获得黑条边框轮廓,具体而言,可遍历条形码区域中的每个点,遇到区域中有一个点为黑(即灰度值为255),且其8个相邻点都是黑色的,则说明该点为内部点,可将该点删除,由此,遍历完成后,将只剩下边缘像素点,得到黑条边框轮廓;进一步,根据各连通域的相似性合并条形码轮廓,其合并条件包括:主方向一致;水平方向长度相同;两个相邻子域的重心连线与水平轴构成的夹角与主方向夹角的差值不超过5度;两个相邻子域构成的外接矩形距离不超过二者在水平方向上的长度。

本申请实施例所提供的条形码定位方法,在完成条形码定位,获得条形码区域后,对其进行了进一步的矫正处理,获得了更加标准的矫正后条形码区域,更加方便后续条形码识别过程的进行。

为解决上述问题,请参考图3,图3为本申请所提供的一种条形码定位装置的结构示意图,该条形码定位装置可包括:

图像获取模块10,用于接收图像采集设备采集的待定位图像;

图像分割模块20,用于通过自适应阈值算法对待定位图像进行分割处理,确定面单区域;

边缘检测模块30,用于利用sobel算子对面单区域进行边缘检测,获得梯度强度图;

条形码定位模块40,用于在梯度强度图中进行条形码定位,确定条形码区域。

作为一种优选实施例,该条形码定位装置还可以包括:

灰度转换模块,用于对待定位图像进行灰度转换,获得灰度图。

作为一种优选实施例,该条形码定位装置还可以包括:

归一化模块,用于对面单区域进行归一化处理,获得标准面单区域。

作为一种优选实施例,该条形码定位装置还可以包括:

条形码矫正模块,用于通过霍夫变换算法计算条形码区域相对于水平方向的第一偏转角;通过轮廓查找算法计算条形码区域相对于水平方向的第二偏转角;计算第一偏转角和第二偏转角的均值;根据均值对条形码区域进行矫正处理,获得矫正后条形码区域。

对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。

为解决上述问题,请参考图4,图4为本申请所提供的一种条形码定位设备的结构示意图,该条形码定位设备可包括:

存储器1,用于存储计算机程序;

处理器2,用于执行计算机程序时实现如下步骤:

接收图像采集设备采集的待定位图像;通过自适应阈值算法对待定位图像进行分割处理,确定面单区域;利用sobel算子对面单区域进行边缘检测,获得梯度强度图;在梯度强度图中进行条形码定位,确定条形码区域。

对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。

为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下骤:

接收图像采集设备采集的待定位图像;通过自适应阈值算法对待定位图像进行分割处理,确定面单区域;利用sobel算子对面单区域进行边缘检测,获得梯度强度图;在梯度强度图中进行条形码定位,确定条形码区域。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的条形码定位方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围要素。

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