一种基于连通域的二维条码识别方法及系统的制作方法

文档序号:10512695阅读:286来源:国知局
一种基于连通域的二维条码识别方法及系统的制作方法
【专利摘要】本发明公开了一种基于连通域的二维条码识别方法及系统,方法包括:对从终端获取的含有二维码的彩色图像进行灰度化和二值化处理,得到二值图像;对二值图像进行取反和连通区域划分,然后标记划分出的连通区域;根据连通区域的值以及长度寻找QR码寻像图形,然后根据QR码寻像图形的坐标确定包含寻像图形的最小区域;在包含寻像图形的最小区域中,采用改进的KMP算法寻找QR码寻像图形中心坐标点,并根据寻找的中心坐标点进行图像校正与二维条码识别。本发明通过二值化处理以及根据寻找的中心坐标点进行图像校正的方法,提高了识别率;同时采用了改进的KMP算法,图形检测速度高,实时性好。本发明可广泛应用于条码识别领域。
【专利说明】
一种基于连通域的二维条码识别方法及系统
技术领域
[0001]本发明涉及条码识别领域,尤其是一种基于连通域的二维条码识别方法及系统。
【背景技术】
[0002]二维条码识别技术属于图形标识技术,其在物流、票据、移动支付等领域有着广泛的应用。二维码与一维码不同,它在横向和纵向两个方向存储信息,信息存储量大,存储种类多,存储密度高,安全性好,并且不需要联机,即可获取其内容。因此,现在图形标识技术主要使用二维码。QR Code,英文全称为Quick Response Code (即快速相应矩阵码),是目前最具有代表性的二维条码之一,是由日本Denso公司于1994年9月研制的,除具有一维条码及其它二维条码的优点外,还具有超高速识读、全方位识读和能够同时表示中国汉字和日本汉字的特点。
[0003]从终端获取到的二维码图片一般会出现光照不均、存在额外的背景以及存在倾斜等情况,如果仍按照传统的识别过程来处理这些图片,那么其识别率将大受影响。此外,对于二维码来说,二维码图形检测是解码过程中一个重要步骤。由于技术的发展,从终端获取到的图片质量越来越高,因此,二维码图形检测的重点是满足其实时性要求,即提高其检测速度。

【发明内容】

[0004]为解决上述技术问题,本发明的目的在于:提供一种识别率高和实时性好的,基于连通域的二维条码识别方法。
[0005]本发明的目的在于:提供一种识别率高和实时性好的,基于连通域的二维条码识别系统。
[0006]本发明所采取的技术方案是:
一种基于连通域的二维条码识别方法,包括以下步骤:
51、对从终端获取的含有二维码的彩色图像进行灰度化和二值化处理,得到二值图像;
52、对二值图像进行取反和连通区域划分,然后标记划分出的连通区域;
53、根据连通区域的值以及长度寻找QR码寻像图形,然后根据QR码寻像图形的坐标确定包含寻像图形的最小区域;
54、在包含寻像图形的最小区域中,采用改进的KMP算法寻找QR码寻像图形中心坐标点,并根据寻找的中心坐标点进行图像校正与二维条码识别。
[0007]进一步,所述步骤SI包括:
511、从终端获取含有二维码的彩色图像;
512、对含有二维码的彩色图像进行灰度化,得到灰度图像;
513、采用大津法对灰度图像进行二值化处理,得到二值图像。
[0008]进一步,所述步骤S2具体为:
对二值图像进行取反操作,然后对取反操作后的图像进行连通区域划分,并标记划分出的连通区域。
[0009]进一步,所述步骤S3包括:
531、根据连通区域的值以及长度寻找QR码寻像图形,并记录QR码寻像图形的坐标;
532、根据记录的坐标确定包含寻像图形的最小区域。
[00?0]进一步,所述步骤S31具体为:
根据连通区域的值以及长度,以行为检测对象,对二值图像进行检测,判断当前检测行是否符合QR码寻像图形的包含关系且符合包含关系时QR码寻像图形的白色区域长度是否相等,若是,则记录当前检测行起始位置点行和列的坐标,然后根据设定的检测间隔选取下一检测行作为当前检测行重新进行判断,直至所有行检测完毕;反之,则直接根据检测间隔选取下一检测行作为当前检测行重新进行判断。
进一步,所述步骤S4包括:
541、确定包含寻像图形的最小区域的标识矩阵及第一数组,所述最小区域的标识矩阵只保留连通域检测为QR码寻像图形的元素值而将其它元素值置0,所述第一数组由最小区域的标识矩阵加上在标识矩阵最右边所增加的一列O值元素得到;
542、将第一数组的每一行连接在一起组成一个行向量,然后对该行向量进行游程编码,并将游程编码的信息存储在第二数组中,所述第二数组为结构体数组且用于记录游程长度和数组元素的实际数值;
543、根据第二数组采用改进的KMP算法中寻找QR码寻像图形中心坐标点;
544、根据寻找的中心坐标点进行图像校正与二维条码识别。
[0011]进一步,所述步骤S43包括:
5431、判断当前寻标元素X是否大于设定阈值N,若是,则结束寻找过程,反之,则执行步骤S432,其中,元素X为第二数组f (X)中的任一元素;
5432、判断当前寻标元素X是否满足f(x+2).len/f (X).len=3,若是,则执行步骤S433,反之,则执行步骤S435,其中,f(x+2).len为第二数组f(x)中元素x+2游程编码的游程长度,f (X).1en为第二数组f (X)中元素X游程编码的游程长度,元素x+2由元素X向后移动2步得到;
5433、判断当前寻标元素X是否满足f(X).len/f (x+4).1en=I,若是,则执行步骤S434,反之,则执行步骤S436,其中,f(x+4).len第二数组f(x)中元素x+4游程编码的游程长度,元素x+4由元素X向后移动4步得到;
5434、判断当前寻标元素X是否满足f(X).val/f (x+4).val=l,若是,则标记当前寻标元素X的位置并以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431,反之,则直接以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431,其中,f(x)
?val为第二数组f (X)中元素X的实际数值,f(x+4).val为第二数组f (x)中元素x+4的实际数值;
5435、判断当前寻标元素是否满足f(x+2).len/f (X).1en大于I,若是,贝Ij以元素x向后移动4步得到的元素x+4作为当前寻标元素返回步骤S431,反之,则以元素X向后移动2步得到的元素x+2作为当前寻标元素返回步骤S431;
5436、判断当前寻标元素是否满足f(X).len/f (x+4).1en大于I,若是,贝Ij以元素x向后移动4步得到的元素x+4作为当前寻标元素返回步骤S431,反之,则以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431。
[0012]本发明所采取的另一技术方案是:
一种基于连通域的二维条码识别系统,包括:
预处理模块,用于对从终端获取的含有二维码的彩色图像进行灰度化和二值化处理,得到二值图像;
连通区域划分模块,用于对二值图像进行取反和连通区域划分,然后标记划分出的连通区域;
最小区域确定模块,用于根据连通区域的值以及长度寻找QR码寻像图形,然后根据QR码寻像图形的坐标确定包含寻像图形的最小区域;
中心坐标点寻找与识别模块,用于在包含寻像图形的最小区域中,采用改进的KMP算法寻找QR码寻像图形中心坐标点,并根据寻找的中心坐标点进行图像校正与二维条码识别;所述预处理模块的输出端依次通过连通区域划分模块、最小区域确定模块进而和中心坐标点寻找与识别模块的输入端连接。
[0013]进一步,所述最小区域确定模块包括:
寻找和记录单元,用于根据连通区域的值以及长度寻找QR码寻像图形,并记录QR码寻像图形的坐标;
确定单元,用于根据记录的坐标确定包含寻像图形的最小区域;
所述连通区域划分模块的输出端依次通过寻找和记录单元以及确定单元进而和中心坐标点寻找与识别模块的输入端连接。
[0014]进一步,所述中心坐标点寻找与识别模块包括:
矩阵获取单元,用于确定包含寻像图形的最小区域的标识矩阵及第一数组,所述最小区域的标识矩阵只保留连通域检测为QR码寻像图形的元素值而将其它元素值置0,所述第一数组由最小区域的标识矩阵加上在标识矩阵最右边所增加的一列O值元素得到;
游程编码单元,用于将第一数组的每一行连接在一起组成一个行向量,然后对该行向量进行游程编码,并将游程编码的信息存储在第二数组中,所述第二数组为结构体数组且用于记录游程长度和数组元素的实际数值;
中心坐标点寻找单元,用于根据第二数组采用改进的KMP算法中寻找QR码寻像图形中心坐标点;
校正识别单元,用于根据寻找的中心坐标点进行图像校正与二维条码识别;
所述最小区域确定模块的输出端依次通过矩阵获取单元、游程编码单元和中心坐标点寻找单元进而与校正识别单元的输入端连接。
[0015]本发明的方法的有益效果是:先对终端获取的彩色图像进行二值化和连通区域划分,再根据连通区域寻找QR码寻像图形以及确定包含寻像图形的最小区域,最后采用改进的KMP算法从确定的最小区域中寻找出寻像图形中心坐标点,采用了基于连通域的二维条码识别方法,通过二值化处理以及根据寻找的中心坐标点进行图像校正的方法,能显著降低光照不均、额外的背景以及倾斜等因素的影响,提高了二维条码的识别率;同时采用改进的KMP算法来寻找寻像图形中心坐标点,极大提高了图形检测的检测速度,满足了实时性的高要求。
[0016]本发明的系统的有益效果是:先通过预处理模块和连通区域划分模块对终端获取的彩色图像进行二值化和连通区域划分,再在最小区域确定模块中根据连通区域寻找QR码寻像图形以及确定包含寻像图形的最小区域,最后在中心坐标点寻找与识别模块中采用改进的KMP算法从确定的最小区域中寻找出寻像图形中心坐标点,采用了基于连通域的二维条码识别方法,通过二值化处理以及根据寻找的中心坐标点进行图像校正的方法,能显著降低光照不均、额外的背景以及倾斜等因素的影响,提高了二维条码的识别率;同时采用改进的KMP算法来寻找寻像图形中心坐标点,极大提高了图形检测的检测速度,满足了实时性的高要求。
【附图说明】
[0017]图1为本发明一种基于连通域的二维条码识别方法的整体流程图;
图2为本发明一种基于连通域的二维条码识别系统的结构框图;
图3为本发明采用改进的KMP算法中寻找QR码寻像图形中心坐标点的流程图。
【具体实施方式】
[0018]参照图1,一种基于连通域的二维条码识别方法,包括以下步骤:
51、对从终端获取的含有二维码的彩色图像进行灰度化和二值化处理,得到二值图像;
52、对二值图像进行取反和连通区域划分,然后标记划分出的连通区域;
53、根据连通区域的值以及长度寻找QR码寻像图形,然后根据QR码寻像图形的坐标确定包含寻像图形的最小区域;
54、在包含寻像图形的最小区域中,采用改进的KMP算法寻找QR码寻像图形中心坐标点,并根据寻找的中心坐标点进行图像校正与二维条码识别。
[0019]进一步作为优选的实施方式,所述步骤SI包括:
511、从终端获取含有二维码的彩色图像;
512、对含有二维码的彩色图像进行灰度化,得到灰度图像;
513、采用大津法对灰度图像进行二值化处理,得到二值图像。
[0020]进一步作为优选的实施方式,所述步骤S2具体为:
对二值图像进行取反操作,然后对取反操作后的图像进行连通区域划分,并标记划分出的连通区域。
[0021 ]进一步作为优选的实施方式,所述步骤S3包括:
531、根据连通区域的值以及长度寻找QR码寻像图形,并记录QR码寻像图形的坐标;
532、根据记录的坐标确定包含寻像图形的最小区域。
[0022]进一步作为优选的实施方式,所述步骤S31具体为:
根据连通区域的值以及长度,以行为检测对象,对二值图像进行检测,判断当前检测行是否符合QR码寻像图形的包含关系且符合包含关系时QR码寻像图形的白色区域长度是否相等,若是,则记录当前检测行起始位置点行和列的坐标,然后根据设定的检测间隔选取下一检测行作为当前检测行重新进行判断,直至所有行检测完毕;反之,则直接根据检测间隔选取下一检测行作为当前检测行重新进行判断。
[0023]进一步作为优选的实施方式,所述步骤S4包括:
S41、确定包含寻像图形的最小区域的标识矩阵及第一数组,所述最小区域的标识矩阵只保留连通域检测为QR码寻像图形的元素值而将其它元素值置O,所述第一数组由最小区域的标识矩阵加上在标识矩阵最右边所增加的一列O值元素得到;
542、将第一数组的每一行连接在一起组成一个行向量,然后对该行向量进行游程编码,并将游程编码的信息存储在第二数组中,所述第二数组为结构体数组且用于记录游程长度和数组元素的实际数值;
543、根据第二数组采用改进的KMP算法中寻找QR码寻像图形中心坐标点;
544、根据寻找的中心坐标点进行图像校正与二维条码识别。
[0024]进一步作为优选的实施方式,所述步骤S43包括:
5431、判断当前寻标元素X是否大于设定阈值N,若是,则结束寻找过程,反之,则执行步骤S432,其中,元素X为第二数组f (X)中的任一元素;
5432、判断当前寻标元素X是否满足f(x+2).len/f (X).len=3,若是,则执行步骤S433,反之,则执行步骤S435,其中,f(x+2).len为第二数组f(x)中元素x+2游程编码的游程长度,f (X).1en为第二数组f (X)中元素X游程编码的游程长度,元素x+2由元素X向后移动2步得到;
5433、判断当前寻标元素X是否满足f(X).len/f (x+4).1en=I,若是,则执行步骤S434,反之,则执行步骤S436,其中,f(x+4).len第二数组f(x)中元素x+4游程编码的游程长度,元素x+4由元素X向后移动4步得到;
5434、判断当前寻标元素X是否满足f(X).val/f (x+4).val=l,若是,则标记当前寻标元素X的位置并以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431,反之,则直接以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431,其中,f(x)
?val为第二数组f (X)中元素X的实际数值,f(x+4).val为第二数组f (x)中元素x+4的实际数值;
5435、判断当前寻标元素是否满足f(x+2).len/f (X).1en大于I,若是,贝Ij以元素x向后移动4步得到的元素x+4作为当前寻标元素返回步骤S431,反之,则以元素X向后移动2步得到的元素x+2作为当前寻标元素返回步骤S431;
5436、判断当前寻标元素是否满足f(X).len/f (x+4).1en大于I,若是,贝Ij以元素x向后移动4步得到的元素x+4作为当前寻标元素返回步骤S431,反之,则以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431。
[0025]参照图2,一种基于连通域的二维条码识别系统,包括:
预处理模块,用于对从终端获取的含有二维码的彩色图像进行灰度化和二值化处理,得到二值图像;
连通区域划分模块,用于对二值图像进行取反和连通区域划分,然后标记划分出的连通区域;
最小区域确定模块,用于根据连通区域的值以及长度寻找QR码寻像图形,然后根据QR码寻像图形的坐标确定包含寻像图形的最小区域;
中心坐标点寻找与识别模块,用于在包含寻像图形的最小区域中,采用改进的KMP算法寻找QR码寻像图形中心坐标点,并根据寻找的中心坐标点进行图像校正与二维条码识别;
所述预处理模块的输出端依次通过连通区域划分模块、最小区域确定模块进而和中心坐标点寻找与识别模块的输入端连接。
[0026]参照图2,进一步作为优选的实施方式,所述最小区域确定模块包括:
寻找和记录单元,用于根据连通区域的值以及长度寻找QR码寻像图形,并记录QR码寻像图形的坐标;
确定单元,用于根据记录的坐标确定包含寻像图形的最小区域;
所述连通区域划分模块的输出端依次通过寻找和记录单元以及确定单元进而和中心坐标点寻找与识别模块的输入端连接。
[0027]参照图2,进一步作为优选的实施方式,所述中心坐标点寻找与识别模块包括: 矩阵获取单元,用于确定包含寻像图形的最小区域的标识矩阵及第一数组,所述最小区域的标识矩阵只保留连通域检测为QR码寻像图形的元素值而将其它元素值置0,所述第一数组由最小区域的标识矩阵加上在标识矩阵最右边所增加的一列O值元素得到;
游程编码单元,用于将第一数组的每一行连接在一起组成一个行向量,然后对该行向量进行游程编码,并将游程编码的信息存储在第二数组中,所述第二数组为结构体数组且用于记录游程长度和数组元素的实际数值;
中心坐标点寻找单元,用于根据第二数组采用改进的KMP算法中寻找QR码寻像图形中心坐标点;
校正识别单元,用于根据寻找的中心坐标点进行图像校正与二维条码识别;
所述最小区域确定模块的输出端依次通过矩阵获取单元、游程编码单元和中心坐标点寻找单元进而与校正识别单元的输入端连接。
[0028]下面结合说明书附图和具体实施例对本发明作进一步解释和说明。
[0029]实施例一
参照图1-3,本发明的第一实施例:
针对现有技术识别率低和实时性较差的问题,本发明提出了一种基于连通域的二维条码识别方法。该方法的主要实现过程包括以下步骤:
(一)对从终端获取的含有二维码的彩色图像进行灰度化和二值化处理,得到二值图像。
[0030]当从终端获取到二维码图形后,首先需要将获取到的彩色图像转换为灰度图像。而灰度图像有可能会受光照不均、背景和倾斜等因素的影响,所以为了保证图像的质量,本发明还需要利用大津法对图像进行二值化处理。
[0031](二)对二值图像进行取反和连通区域划分,然后标记划分出的连通区域。
[0032]二值图像中黑色为目标区域,白色为背景,而划分连通区域时,黑色为背景,白色为目标区域,所以本发明在划分连通区域前需要对二值图像取反。
[0033]取反操作完成后,即可采用传统的连通域划分算法进行连通区域划分,如可采用连通区域标记法将二值图像中的目标区域和背景区分开来。
[0034](三)根据连通区域的值以及长度寻找QR码寻像图形,然后根据QR码寻像图形的坐标确定包含寻像图形的最小区域。
[0035]在QR码中,位置探测图形(即寻像图形)的黑白比例为1: 1:3:1:1,并且位置探测图形的外围区域与中心的正方形是包围关系。因此,获取包含位置探测图形的最小区域时,只需对检测的行判断其是否具有位置探测图形的包含关系,并且位置探测图形的白色区域长度是否相等。如果满足以上条件,则记录该检测的行起始点位置点的行和列坐标。接着,根据记录的坐标,可确定包含位置探测图形的最小区域。在检测图像时,为了减少计算量,根据寻像图形的特点,每间隔6行进行扫描检测,即将检测间隔设为6行。
(四)在包含寻像图形的最小区域中,采用改进的KMP算法寻找QR码寻像图形中心坐标点,并根据寻找的中心坐标点进行图像校正与二维条码识别。
[0036]确定包含寻像图形的最小区域后,本发明采用标识矩阵和数组对该最小区域进行表示。其中,标识矩阵只保留连通区域中检测为QR寻像图形的元素值,其它元素值设为零。在此标识矩阵的基础上,再在该标识矩阵的增加一列,数值全部为零,以组成一个新的数组,记为第一数组。
[0037]将第一数组的每一行连接在一起,组成一个行向量,然后对此行向量进行游程编码,游程编码的信息存储在一个结构体数组中,记为第二数组。第二数组分别记录其游程长度和数组元素的实际数值。
[0038]在游程编码中,可利用改进的KMP算法,寻找寻像图形中心坐标点,并对图像进行校正。由于第二数组中零元素和非零元素间隔分布,所以在寻找寻像图形的中心坐标时,可以间隔寻找。而QR码中位置探测图形的黑白比例为1:1:3:1:1,位于中间的两个部分为白色,所以在游程编码中寻找寻像图形的中心坐标时,需要查找相邻非零元素的游程长度比为1:3:1,并且第一个元素的数值要与第三个元素的数值相等。基于以上原理,本发明在寻找1:3:1过程中采用改进的KMP算法进行搜索,以提高检测的速度和效率。KMP算法与其它匹配算法相比,能合理利用已经计算出的信息,进行高效的向后移动,以保证在线性时间内完成搜索,大量减少了冗余对比。
[0039]本发明所采用的改进的KMP算法流程如图3所示。假设f(x)为结构体数组,f(x).1en为相对应元素游程编码的游程长度,f(x).val为对应的连通分量数值。在不考虑背景颜色的情况下,该改进的KMP算法首先分析f(x+2).len/f (X).1en的结果,如果f (x+2).1en/f(x).1en不为3,且大于I,则说明用于比较的两个非零元素都不是所求,则以元素X跳后4步的元素x+4作为新的元素(即令X= x+4,将x+4赋给X)重新进行比较;否则,则以元素X跳后2步的元素x+2作为新的元素重新进行比较。若f (x+2).len/f (X).len=3,则继续判断f (x).len/f (x+4).1en是否为I,如果f (x).len/f (x+4).1en大于I,则以元素x跳后4步的元素x+4作为新的元素(即令X= x+4,将x+4赋给X)重新进行比较;否则,则表明此时相邻非零元素的游程长度比符合比例,此时,不管其符合f(x).val/f (x+4).val=l条件与否,都以元素X跳后6步的元素x+6作为新的元素(S卩令X= x+6,将x+6赋给X)重新进行比较;唯一区别就是,若f(X).val/f (x+4).val=l,则表明此时的相邻非零元素即为所寻找中心坐标对应的相邻非零元素,需要标记其位置。
[0040]实际上,在查找位置探测图形时,可以设置结构体数组来存储其信息,每个结构体主要保存位置探测图形的起始位置和终止位置以及外围图形的标记和中心图形的标记,故可以根据区域大小、起始位置和终止位置计算位置探测图形的中心坐标。
[0041 ]寻找出中心坐标点后,可通过旋转等方法对图像校正,并可进行采样、解码识别和输出。
[0042]以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
【主权项】
1.一种基于连通域的二维条码识别方法,其特征在于:包括以下步骤: 51、对从终端获取的含有二维码的彩色图像进行灰度化和二值化处理,得到二值图像; 52、对二值图像进行取反和连通区域划分,然后标记划分出的连通区域; 53、根据连通区域的值以及长度寻找QR码寻像图形,然后根据QR码寻像图形的坐标确定包含寻像图形的最小区域; 54、在包含寻像图形的最小区域中,采用改进的KMP算法寻找QR码寻像图形中心坐标点,并根据寻找的中心坐标点进行图像校正与二维条码识别。2.根据权利要求1所述的一种基于连通域的二维条码识别方法,其特征在于:所述步骤SI包括: SI1、从终端获取含有二维码的彩色图像; 512、对含有二维码的彩色图像进行灰度化,得到灰度图像; 513、采用大津法对灰度图像进行二值化处理,得到二值图像。3.根据权利要求1所述的一种基于连通域的二维条码识别方法,其特征在于:所述步骤S2具体为: 对二值图像进行取反操作,然后对取反操作后的图像进行连通区域划分,并标记划分出的连通区域。4.根据权利要求1所述的一种基于连通域的二维条码识别方法,其特征在于:所述步骤S3包括: 531、根据连通区域的值以及长度寻找QR码寻像图形,并记录QR码寻像图形的坐标; 532、根据记录的坐标确定包含寻像图形的最小区域。5.根据权利要求4所述的一种基于连通域的二维条码识别方法,其特征在于:所述步骤S31具体为: 根据连通区域的值以及长度,以行为检测对象,对二值图像进行检测,判断当前检测行是否符合QR码寻像图形的包含关系且符合包含关系时QR码寻像图形的白色区域长度是否相等,若是,则记录当前检测行起始位置点行和列的坐标,然后根据设定的检测间隔选取下一检测行作为当前检测行重新进行判断,直至所有行检测完毕;反之,则直接根据检测间隔选取下一检测行作为当前检测行重新进行判断。6.根据权利要求1所述的一种基于连通域的二维条码识别方法,其特征在于:所述步骤S4包括: 541、确定包含寻像图形的最小区域的标识矩阵及第一数组,所述最小区域的标识矩阵只保留连通域检测为QR码寻像图形的元素值而将其它元素值置O,所述第一数组由最小区域的标识矩阵加上在标识矩阵最右边所增加的一列O值元素得到; 542、将第一数组的每一行连接在一起组成一个行向量,然后对该行向量进行游程编码,并将游程编码的信息存储在第二数组中,所述第二数组为结构体数组且用于记录游程长度和数组元素的实际数值; 543、根据第二数组采用改进的KMP算法中寻找QR码寻像图形中心坐标点; 544、根据寻找的中心坐标点进行图像校正与二维条码识别。7.根据权利要求6所述的一种基于连通域的二维条码识别方法,其特征在于:所述步骤S43包括: 5431、判断当前寻标元素X是否大于设定阈值N,若是,则结束寻找过程,反之,则执行步骤S432,其中,元素X为第二数组f (X)中的任一元素; 5432、判断当前寻标元素X是否满足f(x+2).len/f (X).len=3,若是,则执行步骤S433,反之,则执行步骤S435,其中,f(x+2).len为第二数组f(x)中元素x+2游程编码的游程长度,f (X).1en为第二数组f (X)中元素X游程编码的游程长度,元素x+2由元素X向后移动2步得到; 5433、判断当前寻标元素X是否满足f(X).len/f (x+4).1en=I,若是,则执行步骤S434,反之,则执行步骤S436,其中,f(x+4).len第二数组f(x)中元素x+4游程编码的游程长度,元素x+4由元素X向后移动4步得到; 5434、判断当前寻标元素X是否满足f(X).val/f (x+4).val=l,若是,则标记当前寻标元素X的位置并以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431,反之,则直接以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431,其中,f(x)?val为第二数组f(x)中元素X的实际数值,f(x+4).val为第二数组f (x)中元素x+4的实际数值; 5435、判断当前寻标元素是否满足f(x+2).len/f (X).1en大于I,若是,则以元素x向后移动4步得到的元素x+4作为当前寻标元素返回步骤S431,反之,则以元素X向后移动2步得到的元素x+2作为当前寻标元素返回步骤S431; 5436、判断当前寻标元素是否满足f(X).len/f (x+4).1en大于I,若是,则以元素x向后移动4步得到的元素x+4作为当前寻标元素返回步骤S431,反之,则以元素X向后移动6步得到的元素x+6作为当前寻标元素返回步骤S431。8.一种基于连通域的二维条码识别系统,其特征在于:包括 预处理模块,用于对从终端获取的含有二维码的彩色图像进行灰度化和二值化处理,得到二值图像; 连通区域划分模块,用于对二值图像进行取反和连通区域划分,然后标记划分出的连通区域; 最小区域确定模块,用于根据连通区域的值以及长度寻找QR码寻像图形,然后根据QR码寻像图形的坐标确定包含寻像图形的最小区域; 中心坐标点寻找与识别模块,用于在包含寻像图形的最小区域中,采用改进的KMP算法寻找QR码寻像图形中心坐标点,并根据寻找的中心坐标点进行图像校正与二维条码识别; 所述预处理模块的输出端依次通过连通区域划分模块、最小区域确定模块进而和中心坐标点寻找与识别模块的输入端连接。9.根据权利要求8所述的一种基于连通域的二维条码识别系统,其特征在于:所述最小区域确定模块包括: 寻找和记录单元,用于根据连通区域的值以及长度寻找QR码寻像图形,并记录QR码寻像图形的坐标; 确定单元,用于根据记录的坐标确定包含寻像图形的最小区域; 所述连通区域划分模块的输出端依次通过寻找和记录单元以及确定单元进而和中心坐标点寻找与识别模块的输入端连接。10.根据权利要求8所述的一种基于连通域的二维条码识别系统,其特征在于:所述中心坐标点寻找与识别模块包括: 矩阵获取单元,用于确定包含寻像图形的最小区域的标识矩阵及第一数组,所述最小区域的标识矩阵只保留连通域检测为QR码寻像图形的元素值而将其它元素值置O,所述第一数组由最小区域的标识矩阵加上在标识矩阵最右边所增加的一列O值元素得到; 游程编码单元,用于将第一数组的每一行连接在一起组成一个行向量,然后对该行向量进行游程编码,并将游程编码的信息存储在第二数组中,所述第二数组为结构体数组且用于记录游程长度和数组元素的实际数值; 中心坐标点寻找单元,用于根据第二数组采用改进的KMP算法中寻找QR码寻像图形中心坐标点; 校正识别单元,用于根据寻找的中心坐标点进行图像校正与二维条码识别; 所述最小区域确定模块的输出端依次通过矩阵获取单元、游程编码单元和中心坐标点寻找单元进而与校正识别单元的输入端连接。
【文档编号】G06K9/00GK105868724SQ201610213155
【公开日】2016年8月17日
【申请日】2016年4月7日
【发明人】胡建国, 李仕仁, 林格, 白大伟, 吴江旭, 洪佳欣
【申请人】广州智慧城市发展研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1