一种矩阵式二维条码的初步定位方法

文档序号:6402311阅读:173来源:国知局
专利名称:一种矩阵式二维条码的初步定位方法
技术领域
本发明属于二维条码图像处理方法,涉及一种在复杂背景环境中矩阵式二维条码的初步定位方法。
背景技术
矩阵式二维条形码是一种由中心点到与中心点固定距离的多边形单元所组成的图形二维码,而在水平和垂直方向的二维空间存储信息的条码称为二维码,矩阵式二维条码是近年来应用最为广泛的一种二维码,具有代表性的矩阵式二维条码有=Code One、MaxiCode>QR Code、Data Matrix等。一般的二维条码图像处理步骤中,在对二维条码完成了二值化处理之后,就要对条码的区域做一个初步的定位。因为在实际的应用中,图像采集模块所采集的条码图像中往往含有复杂的背景图案,这就给条码的识别带来了很大的困难。对条码进行初定位的目的,一是将图像中的背景噪声图案剔除,二是为后续处理缩小处理范围,提闻处理速度。目前,已有的针对矩阵式二维条码的区域初步定位主要有三类方法:第一类是扫描定位,也叫投影定位,即从水平和垂直两个方向对图像做投影,通过投影值的坐标来确定条码的大概位置。第二类是基于边缘检测和数学形态学的定位,即先对条码图像做边缘检测,再做形态学处理,最后对条码区域进行筛选。第三类则是基于小波分析和神经网络的定位。第一类方法较简单,但要求图像的信噪比非常高才行。若图像中存在较大的背景图案,那用第一类方法就几乎没有意义;第二类方法是目前用的最多的方法。第三类方法较为复杂,且存在很高的不确定性。经对现有技术文献的检索发现,对第二类方法使用的较为多,因此本发明主要是在第二类方法的基础上提出自己的初步定位方法。在第二类方法中主要步骤是先对条码图 像边缘检测,而后进行形态学的腐蚀与膨胀处理,最后提取条码连通区域。第二类方法中,不同大小的方形结构元素对二维条码图像做形态学处理,图像中的连通域会产生很明显的不同,对条码的提取造成很大的影响。再对做完形态学处理的图进行条码区域的提取,所得到的区域会产生非常大的偏差,当结构元素太小时,对条码的定位会产生缺失,而结构元素太大时,很有可能将复杂背景图案一并计入条码区域。虽然这种方法应用的比较普遍,但只能作为一种实验方法,却不能用于工业应用中。因为这种方法有一个很大的缺陷,就是形态学处理中的结构元素的大小和形状都不能够自适应的选取,而更为关键的是若不能选取合适的结构元素,会严重的影响到处理的效果。

发明内容
本发明所要解决的技术问题是,提供一种矩阵式二维条码的初步定位方法,以从复杂背景条件下得到条码的大概区域,提高条码的识别速度和精度,为后续的图像校正和提取信息等步骤做准备。
为解决上述技术问题,本发明采用的技术方案是:一种矩阵式二维条码的初步定位方法,其包括以下步骤:
1.1)对二值化后的条码图像进行边缘检测,得到图像的边缘检测 1.2)扫描检测图中的边缘点,将所有的边缘点标记;
1.3)逐个对每个边缘点进行方向扫描,求得每个边缘点的最短距离跳变点;
1.4)连接图中所有的最短距离跳变点与其对应的边缘点;
1.5)得到连接过后的图像,筛选出连通区域,提取出条码区域。请补充下本方案的效果。所述步骤1.2)中扫描检测图像中的边缘点,将所有的边缘点标记的步骤如下:
2.1)对检测过后的图像进行扫描,如果被检测的点为白色像素点,且该点上下左右四周存在黑色像素点,则标记该点为图像的边缘点;
2.2)重复上述步骤2.1),找出并标记所有图像中的边缘点。所述步骤1.3)中的具体步骤如下:
3.1)寻找边缘点附近最近的跳变点,首先从右边方向扫描,若第一个点为黑色像素点,则继续向右边方向扫描,直到扫描到某点为白色像素点为止,记该点为跳变点;若第一个点为白色像素点,则向右扫描到某点为黑像素点,则记该点的前一位置的像素点为跳变点;
3.2)使用同样的方法对其 他的七个方向,分别是该像素点的上、下、左、右上、左上、左下和右下重复扫描跳变点,得到八个跳变点后,取其中一个与该边缘点最近距离的一个点作为当前边缘点的最短距离跳变点,若出现多个点都为最近距离的跳变点时,则取最先扫描到的点作为最短距离跳变点。所述步骤1.4)中连接图像中所有的最短距离跳变点与其对应的边缘点的步骤如下:
4.1)将所有边缘点与它们所对应的最短距离跳变点连接,当跳变点为黑色像素点时,将以这两点为端点的线段上经过的所有的像素点都置为白色,当跳变点也为白色像素点时,则不进行操作。所述步骤1.5)中的具体步骤如下:对图像进行条码区域的提取,首先画一个与图像边缘距离一定宽度的边框,剔除所有与该边框有接触的连通图案,再求出图像中面积最大的连通图案,剔除所有小于此面积的连通图案,筛选出条码。先分别向左和向右扫描图像,当接触到值为I的像素点时停止扫描,并分别记录这两点的横坐标;再分别向上和向下扫描图像,当接触到值为I的像素点时停止扫描,并分另Ij记录这两点的纵坐标;以这四个点画水平矩形,最后将矩形内的像素点提取出来,从而完成条码的初定位。与现有技术相比,本发明的有益效果是:
本发明通过在复杂背景条件下的矩阵式二维条码图像中,自适应的将任何大小和规格的条码图像完整的连接起来形成连通区域,并将连通区域标记后提取,此过程不需要考虑选取结构元素的大小和形状,且对图像进行边缘点的检测更为简单,提取而得到条码的大概区域后,可以将条码与复杂背景区分开,避免背景对条码区域进一步处理的影响,提高条码的识别速度和精度,为后续的条码图像校正和提取信息等步骤做准备。


图1为本发明的矩阵式码初步定位方法流程图
图2为本发明中判断边缘点时的几种情况(一格为一像素点)
图3为本发明中寻找方向跳变点的原理示例图(一格为一像素点)
图4为本发明中连接最短距离跳变点像素点的过程(一格为一像素点)
图5为本发明中标记连通区域过程的原理图(一格为一像素点)
图6为本发明中自适应的条码初步定位标记连通区域并处理效果图。
具体实施例方式
下面结合具体实施例对本发明作进一步的说明。如图1所示,本发明公开一种矩阵式二维条码的初步定位方法,主要的方法包括以下步骤:
在接收到二值化处理过的矩阵式二维条码图像后,首先对图像进行边缘检测。然后第一步就是对检测后图像中的每个像素点进行检测,判断是否边缘点。对边缘点的判断的准则为:如果被检测的点为白色像素点(值为1),且该点上下左右四周存在黑色像素点(值为0),则判断该点为图像的边缘点。如图2中四种情况都可以判断a点为边缘点。当确定a点为边缘点后,接下来寻找a附近最近的跳变点,这里解释一下何为寻找与a点距离最近的方向跳变点,以向右方向为例,寻找与a点右方向上距离最近的方向跳变点的规则为:从a点右边第一个点开始向右扫描。若第一个点为黑色像素点,则继续向右扫描,如图3(a)所示,直到扫描到某点为白色像素点为止,记该点为b点,如图3(b)所示。若第一个点为白色像素点,则继续向右扫描,如图3(c)所示,直到扫描到某点为黑色像素点为止,记该点的前一点为b点,如图3(d)所示。这两种情况都可确定b点是a点右方向上第一个发生颜色跳变的点,即b点是与a点右方向上距离最近的方向跳变点。重复上述过程寻找与a点八个方向上距离最近的方向跳变点,八个方向为(a点上、下、左、右、右上(45°方向)、左上(135°方向)、左下(225°方向)和右下(315°方向)),当找到跳变点b点后要记录下a点与b点的距离。若扫描至图像边界处时还未检测到跳变点,那么就将该边界点设为跳变点b,并将a点与b点的距离设为00。当与a点八个方向上距离最近的方向跳变点全部找到并分别记录下了各个距离值,寻找跳变点的结果如图4(a)为例。接下来第三步就要找出这八个距离值中的最小值,再将这个最小值对应的跳变点找到,并将该边缘点a与该跳变点连接起来,以图4所示为例。从图4(a)中可以看出与a点八个方向上距离最近的方向跳变点分别为b,c, d, e, f, g, h, i,可以判断出八个距离中最短为I ai I,因此将a点与i点连接起来,如图4(b)所示。对图像中所有的边缘点重复上述寻找跳变点并连接的过程,得到连接后的条码图像,如图6 (a),这时候需要对图像进行条码区域的提取,使用的是目前大多数通用的筛选连通区域的方法,首先画一个与图像边缘距离一定宽度的边框,剔除所有与该边框有接触的连通图案,再求出图像中面积最大的连通图案,剔除所有小于此面积的连通图案,筛选出条码。对连通和筛选区域的标记原理如图5(a)、图5(b)中所示,将所有区域内进行编号的像素进行编号,然后对所有对应编号的像素点个数进行统计,将像素点个数最多的编号区域提取,得到最大连通区域,筛选并提取连通区域的效果如图6(b)。筛选连通区域后,已经将大部分的背景剔除,所得到的图像只含有条码部分。分别向左和向右扫描图像,当接触到值为I的像素点时停止扫描,并分别记录这两点的横坐标;同样的过程,再分别向上和向下扫描图像,当接触到值为I的像素点时停止扫描,并分别记录这两点的纵坐标;以这四个点画水平矩形,最后将矩形内的像素点提取出来,如图6(c)所示。这样就完成了二维条码的初定位。显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它 不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
权利要求
1.一种矩阵式二维条码的初步定位方法,其特征在于,包括以下步骤: 1.1)对二值化后的条码图像进行边缘检测,得到图像的边缘检测图; 1.2)扫描检测图中的边缘点,将所有的边缘点标记; 1.3)逐个对每个边缘点进行方向扫描,求得每个边缘点的最短距离跳变点; 1.4)连接图中所有的最短距离跳变点与其对应的边缘点; 1.5)得到连接过后的图像,筛选出连通区域,提取出条码区域。
2.根据权利要求1所述的矩阵式二维条码的初步定位方法,其特征在于,所述步骤1.2)中扫描检测图像中的边缘点,将所有的边缘点标记的步骤如下: 2.1)对检测过后的图像进行扫描,如果被检测的点为白色像素点,且该点上下左右四周存在黑色像素点,则标记该点为图像的边缘点; 2.2)重复上述步骤2.1),找出并标记所有图像中的边缘点。
3.根据权利要求1所述的矩阵 式二维条码的初步定位方法,其特征在于,所述步骤1.3)中的具体步骤如下: 3.1)寻找边缘点附近最近的跳变点,首先从右边方向扫描,若第一个点为黑色像素点,则继续向右边方向扫描,直到扫描到某点为白色像素点为止,记该点为跳变点;若第一个点为白色像素点,则向右扫描到某点为黑像素点,则记该点的前一位置的像素点为跳变点; 3.2)使用同样的方法对其他的七个方向,分别是该像素点的上、下、左、右上、左上、左下和右下重复扫描跳变点,得到八个跳变点后,取其中一个与该边缘点最近距离的一个点作为该边缘点的最短距离跳变点,若出现多个点都为最近距离的跳变点时取最早扫描的点作为最短距离跳变点。
4.根据权利要求1所述的矩阵式二维条码的初步定位方法,其特征在于,所述步骤1.4)中连接图像中所有的最短距离跳变点与其对应的边缘点的步骤如下: 4.1)将所有边缘点与它们所对应的最短距离跳变点连接,当跳变点为黑色像素点时,将以这两点为端点的线段上经过的所有的像素点都置为白色,当跳变点也为白色像素点时,则不进行操作。
5.根据权利要求1所述的矩阵式二维条码的初步定位方法,其特征在于,所述步骤1.5)中的具体步骤如下:对图像进行条码区域的提取,首先画一个与图像边缘距离一定宽度的边框,剔除所有与该边框有接触的连通图案,再求出图像中面积最大的连通图案,剔除所有小于此面积的连通图案,筛选出条码。
6.根据权利要求5所述的矩阵式二维条码的初步定位方法,其特征在于,先分别向左和向右扫描图像,当接触到值为I的像素点时停止扫描,并分别记录这两点的横坐标;再分别向上和向下扫描图像,当接触到值为I的像素点时停止扫描,并分别记录这两点的纵坐标;以这四个点画水平矩形,最后将矩形内的像素点提取出来,从而完成条码的初定位。
全文摘要
本发明涉及一种矩阵式二维条码的初步定位方法,包括以下步骤对二值化后的图像进行边缘检测,得到图像的边缘检测图;扫描检测图中的边缘点,将所有的边缘点标记;逐个对每个边缘点进行方向扫描,求得每个边缘点的最短距离跳变点;连接图像中所有的最短距离跳变点与其对应的边缘点;得到连接过后的图像,筛选出连通区域,提取出条码区域。本发明通过从复杂背景条件下得到条码的大概区域,提高条码的识别速度和精度,为后续的图像校正和提取信息等步骤做准备。
文档编号G06K9/54GK103235951SQ20131014011
公开日2013年8月7日 申请日期2013年4月22日 优先权日2013年4月22日
发明者谭洪舟, 陈荣军, 吴琦, 朱雄泳 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1