一种GridMatrix二维条码宏模块提取方法

文档序号:6637481阅读:776来源:国知局
一种Grid Matrix二维条码宏模块提取方法
【专利摘要】一种Grid Matrix二维条码宏模块提取方法,包括:对图像进行自适应的二值化;对二值化图像中的轮廓进行连通体检测,并按照逆时针顺序排列轮廓上的点;根据轮廓上前后点的距离,提取其中的清晰线段,建立端点集合及有向线段与端点的映射关系表,通过有向线段的广度优先搜索,检测四边的闭合环;最后用后处理排除闭合环中的错误检测,以将检测作为宏模块输出进而根据几何关系采样并译码。上述Grid Matrix二维条码模块提取方法能快速得到模块数据,且能适应条码模块被显著遮挡和无损,提供高可靠性的译码数据。
【专利说明】一种Gr i d Matr i X二维条码宏模块提取方法

【技术领域】
[0001] 本发明涉及二维条码识别【技术领域】,具体为一种Grid Matrix二维条码宏模块提 取方法。

【背景技术】
[0002] Grid Matrix二维条码为作为我国具有自主知识产权的二维条码技术,是信息与 物体之间的智能设备媒介。相比于其他识别手段,二维条码技术具有成本低、使用方便、可 靠性高等优点。在迅速发展的社会需求下,传统的一维条码由于信息量小,呈现出很大的局 限性。在此形势下,信息容量更大、纠错能力更高的各种二维条码被相继提出,其中各国都 提出并发展了不同的二维条码,并指定了标准;Grid Matrix二维条码为作为我国具有自主 知识产权的二维条码技术,对我国在信息化大发展的前景下,有深远的战略意义。另一方 面,二维条码识读设备普遍摒弃了传统的激光扫描方式,而采用更为低成本的基于可见光 图像技术的数字摄像头。采用数字摄像机和数字图像处理技术成为二维条码图像数据采集 设备的低成本解决方案。近年来,二维条码被逐渐重视,并开始应用于各种带有视频功能的 智能终端设备;在信息传播过程中,二维条码作为信息的载体和传输接口,例如在物品的出 库、运输、分发、存储、转移等等环节,可以通过扫描读取物品对应的二维条码快速的获取相 关信息。因此发展先进性的二维条码技术对未来国民经济和生活具有深远影响。
[0003] Grid Matrix二维条码是一种正方形的二维条码码制,该码制的码图由正方形的 白色宏模块和黑色宏模块组成,每个宏模块由6乘6个正方形单元模块组成(如图1所示)。 然而和所有二维条码一样,由于Grid Matrix二维条码在实际应用中会受到污损和遮挡的 影响,虽然其在设计之初就考虑了通过增强定位信息的冗余性提高条码的鲁棒性。但通过 算法可进一步增强处理能力对异常情况的适应,在关键情况下少许的改善即可将译码的成 功率大幅提升。更需注意的是,国家标准仅仅定义了在标准的Grid Matrix二维条码图形 下的宏模块提取方法,并未详细解释如何从真实的传感器图形转换到分割图像。而不标准 的二维条码分割图形,将导致Grid Matrix二维条码无法被检测。然而实际使用过程的环 境复杂多变。因此,研制在在复杂情况下Grid Matrix二维条码的高可靠性宏模块提取快 速方法具有积极意义。


【发明内容】

[0004] 针对上述问题,本发明的目的是提供一种基于数字图像处理技术的Grid Matrix 二维条码宏模块的提取方法,以解决复杂的成像环境情况下检测Grid Matrix二维条码和 分割宏模块图形的问题。它能适应真实情况下的涂改、缺损、遮挡、折痕、扭曲、光照不均匀 等等问题,并且处理速率更高。技术方案如下:
[0005] -种Grid Matrix二维条码宏模块提取方法,其特征在于,按以下步骤进行:
[0006] 1)读取Grid Matrix二维条码图像;
[0007] 2)对上述图像做二值化处理;
[0008] 3)对二值化图像求逆运算,使黑白色翻转;
[0009] 4)使用连通体检测算法计算翻转后的二值化图像中的白色连通体区域;
[0010] 5)遍历每个连通体像素,按照逆时针顺序记录连通体区域边界上的点,生成边界 点链表;
[0011] 6)对边界点链表进行简化;
[0012] 7)建立轮廓上清晰线段的线段集和清晰线段端点的端点集,以及该线段集与端点 集的元素间映射关系;
[0013] 8)对线段集中的端点坐标信息进行融合;
[0014] 9)遍历端点集,删除不属于任何线段的端点;
[0015] 10)搜寻线段集中每个有向线段,记录该有向线段的后续线段及其与该有向线段 之间的连接角度是否为凸;
[0016] 11)遍历线段集中的所有线段:对任一线段逐次递归地找连接角度为凸且顺次连 接的4条后续线段,若其最后一条线段与当前线段重合,则形成4边逆时针闭合环,记录该 4个线段及相对应端点,生成4边逆时针闭合环的链表,该链表对应白色宏模块;否则继续 遍历直至完成;
[0017] 12)遍历线段集中的所有线段:对任一线段逐次递归地找连接角度为凹且顺次连 接的4条后续线段,若其最后一条线段与当前线段重合,则形成4边顺时针闭合环,记录该 4个线段及相对应端点,生成4边顺时针闭合环的链表,该链表对应黑色宏模块;否则继续 遍历直至完成;
[0018] 13)判断上述白色宏模块和黑色宏模块的连通,性并建立起相对几何坐标;
[0019] 14)将连通的4边逆时针闭合环和4边顺时针闭合环及其相对坐标和图像区域传 递给译码模块进行译码;将译码结果输出。
[0020] 进一步的,上述对图像做二值化处理的方法为:
[0021] a)对图像进行预处理,包括去噪声和平滑滤波;
[0022] b)将处理后的图像转换为灰度图像;
[0023] c)使用Iaplace算子计算灰度图像中的边缘;
[0024] d)计算边缘图形的积分图;
[0025] e)将图像分割成若干块,并对每块子图像计算其中的边缘数量之和;
[0026] f)遍历所有子图像,若子图像中边缘数量和大于设定阈值,则认为该区域是二维 码图形区域,设置对应的判别矩阵的值为1 ;否则设定为〇 ;
[0027] g)提升子图像的分辨率一倍,同样子图像的尺度缩小为原来的一半,利用预先获 取的积分图重新计算判别矩阵中边缘对应的子图像中边缘数量和;
[0028] h)若分辨率达到最大分辨率,则转入下一步,否则返回上一步;
[0029] i)对判别矩阵中为1的位置用Otsu算法计算其自适应分割值;
[0030] j)扩张判别矩阵;
[0031] k)利用判别矩阵分割图像,即图像中的像素灰度值若大于判别矩阵对应值,则设 置为255;否则设置为0。
[0032] 更进一步的,上述对边界点链表简化的方法为:若某点位于其前后两点所构成的 直线上,则从边界点链表中删除该点。
[0033] 更进一步的,上述线段集和端点集建立的方法为:按照逆时针方向遍历简化后的 边界点链表,依次计算连续两边界点的距离,若距离超过预先设置的阈值,则该两点属于轮 廓上的清晰线段的端点,保留该清晰线段和相对应的端点,生成线段集和端点集;若距离小 于预先设置的阈值,则删除该线段。
[0034] 更进一步的,上述线段集中的端点坐标信息进行融合的方法为:遍历线段集中的 每一个端点,若线段集中的其他端点与该端点坐标的欧氏距离小于预先设定的阈值,则将 两个端点的几何均值替换两个端点;若两点间的欧氏距离大于设定阈值,则不做处理。
[0035] 更进一步的,上述判断宏模块的连通性及建立起相对几何坐标的方法为:将所述 4边逆时针闭合环链表中的第一个4逆时针边闭合环的坐标设置为相对几何坐标系的原点 (〇, 〇);读取与其相邻的8个4边闭合环;按照空间关系给予每个新读取的闭合环以坐标 值,并再如此迭代地访问新读取的闭合环的领域,读出连通的4边闭合环之间坐标相对关 系;并且从最小最大X和y坐标指导连通管4边闭合环的范围。
[0036] 本发明的有益效果在于:
[0037] 1、本发明可以最大程度的提高对Grid Matrix二维条码宏模块图形的提取能力, 不受版本、印刷尺寸和颜色的影响,且具有较高的抗噪声、抗污损的能力;
[0038] 2、本发明的宏模块提取方法可同时提取黑白模块,而无需像传统方法那样要同时 提取黑白模块需分两次处理;
[0039] 3、本发明的处理流程面向一维的有向线段,比面向二维图像的传统方法的处理速 率更尚;
[0040] 4、本发明采用可见光视频,比基于激光扫描的方法成本更低。

【专利附图】

【附图说明】
[0041] 图1为Grid Matrix二维条码外观的示意图。
[0042] 图2为本发明处理流程图。
[0043] 图3为本发明的处理过程示意图,按照从左至右从上至下的顺序分别表示了 Grid Matrix二维条码原图、自适应二值化图像、逆运算之后的图像、连通体轮廓、有向线段连接 情况和提取的宏模块区域的情况。
[0044] 图4为本发明完成处理后提取宏模块内容获取的标准化Grid Matrix二维条码。
[0045] 图5为本发明对有向线段的方向性说明,其中黑色宏模块的有向线段构成的四边 形是逆时针方向,而白色宏模块的有向线段为顺时针方向。
[0046] 图6为本发明处理遮挡的情况与国标叙述方法的处理情况的对比,其中国标方法 结果为左图,本发明方法的结果为右图。对比可见,在同样的遮挡情况下,本文方法可用多 直接提取出两个模块(灰色标记)。尽管仅多出两个模块,但在解码上可能就是能否成功的 信息分界线。

【具体实施方式】
[0047] 本发明方法应用于二维码扫描器设备,其工作过程是,视频采集部分根据用户指 令,开启摄像头并按照固定帧率采集彩色视频图像;Grid Matrix二维条码检测部分对摄 像机采集的视频图像进行基于自适应二值化轮廓的向线段的预处理,再提取并输出其中的 Grid Matrix码宏模块信息以供译码模块识别;人机交互部分接受到用户的工作指令后,首 先打开补光装置提示用户设备由休眠转为开始工作,并用激光定位指示灯提示用户扫描范 围,当扫描成功后用蜂鸣器提示完成。
[0048] 本发明处理过程主要包含两个部分:从图像中提取有向线段的预处理部分和处理 有向线段以鲁棒性地提取Grid Matrix二维码宏模块的核心部分。其中前者是从观测图像 中提取有向线段并建立线段和端点集的映射表;后者是核心的处理算法,采用广度优先的 遍历方法从有向线段中组合出可能为Grid Matrix二维码条码宏模块的区域,最后处理去 除干扰。
[0049] 通过分区域的局部信息自适应地二值化视频采集的图片,提取二值化轮廓中的显 著线段并按照逆时针排序,记录端点集合及其与逆时针导向的有向线段;进而广度优先的 扫描优先线段中后续线段,从中组合获取四边的闭合环,最后用后处理排除闭合环中的错 误检测,以将检测作为宏模块输出进而根据几何关系采样并译码。具体步骤如下:
[0050] 1)读取采集到的Grid Matrix二维条码图像。
[0051] 2)对上述图像做二值化处理;具体步骤如下:
[0052] a)对图像进行预处理,包括去噪声和平滑滤波;
[0053] b)将处理后的图像转换为灰度图像;
[0054] c)使用Iaplace算子计算灰度图像中的边缘;
[0055] d)计算边缘图形的积分图;
[0056] e)将图像分割成若干块,并对每块子图像计算其中的边缘数量之和;
[0057] f)遍历所有子图像,若子图像中边缘数量和大于设定阈值,则认为该区域是二维 码图形区域,设置对应的判别矩阵的值为1 ;否则设定为〇 ;
[0058] g)提升子图像的分辨率一倍,同样子图像的尺度缩小为原来的一半,利用预先获 取的积分图重新计算判别矩阵中边缘对应的子图像中边缘数量和;
[0059] h)若分辨率达到最大分辨率,则转入下一步,否则返回上一步;
[0060] i)对判别矩阵中为1的位置用Otsu算法计算其自适应分割值;
[0061] j)扩张判别矩阵;
[0062] k)利用判别矩阵分割图像,即图像中的像素灰度值若大于判别矩阵对应值,则设 置为255;否则设置为0。
[0063] 3)对二值化图像求逆运算,使黑白色翻转。
[0064] 4)使用连通体检测算法计算翻转后的二值化图像中的白色连通体区域。
[0065] 5)遍历每个连通体像素,按照逆时针顺序记录连通体区域边界上的点,生成边界 点链表;由于链表中的点按照逆时针次序记录,因此相邻边界点之间始终存在前后关系,由 相邻边界点定义的线段可以认为是从前一个点指向后一个点,线段具有方向性,在此称其 为有向线段。在本文所述处理中,每个线段皆赋予了方向性,皆为有向线段。
[0066] 6)对边界点链表进行简化;具体方法为:若某点位于其前后两点所构成的直线 上,则从边界点链表中删除该点。
[0067] 7)建立轮廓上清晰线段的线段集和清晰线段端点的端点集,以及该线段集与端点 集的元素间映射关系。具体方法为:按照逆时针方向遍历简化后的边界点链表,依次计算连 续两边界点的距离,若距离超过预先设置的阈值,则该两点属于轮廓上的清晰线段的端点, 保留该清晰线段和相对应的端点,生成线段集和端点集;若距离小于预先设置的阈值,则删 除该线段。
[0068] 8)对线段集中的端点坐标信息进行融合。具体做法为,遍历线段集中的端点,判断 线段集中的其他端点与其坐标的欧氏距离是否小于预先设定的阈值,若小于阈值则可认为 此两点非常近似有待融合,则将两个端点的几何均值替换两个端点。若两点间的欧氏距离 大于设定阈值,则说明两点分别从属于不同的端点,不予进一步考虑。其中的阈值是通过预 先的样本统计获取,并在程序中设置固定。该处理的好处是,可以减少由于图像模糊等干扰 导致的边角模糊而引起的定位偏差。
[0069] 9)遍历端点集,删除不属于任何线段的端点。
[0070] 10)搜寻线段集中每个有向线段,记录该有向线段的后续线段及其与该有向线段 之间的连接角度是否为凸。有向线段间夹角是否为凸的定义,是由两个有向线段所代表的 矢量外积的正负所决定,在本文中定义外积为正时夹角为凸。
[0071] 11)遍历线段集中的所有线段:对任一线段逐次递归地找连接角度为凸且顺次连 接的4条后续线段,若其最后一条线段与当前线段重合,则形成4边逆时针闭合环,记录该 4个线段及相对应端点,生成4边逆时针闭合环的链表,该链表对应白色宏模块;否则继续 遍历直至完成。
[0072] 12)遍历线段集中的所有线段:对任一线段逐次递归地找连接角度为凹且顺次连 接的4条后续线段,若其最后一条线段与当前线段重合,则形成4边顺时针闭合环,记录该 4个线段及相对应端点,生成4边顺时针闭合环的链表,该链表对应黑色宏模块;否则继续 遍历直至完成。
[0073] 13)判断上述白色宏模块和黑色宏模块的连通,性并建立起相对几何坐标。具体做 法为:将步骤11)中获取的4边逆时针闭合环链表中的第一个4边闭合环的坐标设置为相 对几何坐标系的原点(〇,〇);读取该与闭合环的4条边相邻四个闭合环,即为该闭合环的上 下左右的领域闭合环;再读取该闭合环在相对几何坐标系下的对角线领域,即左上、左下、 右下和右上领域的闭合环。按照空间关系给予每个新读取的与其相邻的8个4边闭合环以 坐标值,并再如此迭代地访问新读取的闭合环的领域。如此循环可悉数读出连通的4边闭 合环之间坐标相对关系。并且从最小最大X和y坐标可以指导连通管4边闭合环的范围。
[0074] 14)将连通的4边逆时针闭合环和4边顺时针闭合环及其相对坐标和图像区域传 递给译码模块进行译码;译码过程参照国家标准GB/T 27766-2011进行。译码结果输出到 终端设备。
[0075] 在以上步骤中,由于自适应的阈值计算过程总是在提升分辨率后的图形区域的边 缘进行的,因此计算复杂度由传统穷举搜索方法的〇(n 2)减为了 0(n),即计算复杂度大为降 低,加速了二维条码检测提取过程。因此,快速判断观测图像中是否有二维条码图形并快速 分割的意义在于,可以改善检测识别的速率。首先判断场景中是否有二维条码的计算代价 比较小,如果观测图像中没有二维条码,则可回避后续无用的操作,直接循环处理下一帧图 像。其次,如果场景中有二维条码,则需对二维条码图形区域进行提取。此时的关键要求不 是处理速度快,而是尽量准确获得高质量的分割图像,进而减少扫描译码模块尝试的次数。 换句话说,尽管高质量的分割过程会适当增加运算量,但由于提高了命中率,因此从全局看 仍然是提高了识别速率。由于还采用了高精度分割的加速方法,因此使计算效率进一步提 升。
[0076] 硬件列表如下:
[0077]

【权利要求】
1. 一种Grid Matrix二维条码宏模块提取方法,其特征在于,按W下步骤进行; 1) 读取Grid Matrix二维条码图像; 2) 对上述图像做二值化处理; 3) 对二值化图像求逆运算,使黑白色翻转; 4) 使用连通体检测算法计算翻转后的二值化图像中的白色连通体区域; 5) 遍历每个连通体像素,按照逆时针顺序记录连通体区域边界上的点,生成边界点链 表; 6) 对边界点链表进行简化; 7) 建立轮廓上清晰线段的线段集和清晰线段端点的端点集,W及该线段集与端点集的 元素间映射关系; 8) 对线段集中的端点坐标信息进行融合; 9) 遍历端点集,删除不属于任何线段的端点; 10) 捜寻线段集中每个有向线段,记录该有向线段的后续线段及其与该有向线段之间 的连接角度是否为凸; 11) 遍历线段集中的所有线段;对任一线段逐次递归地找连接角度为凸且顺次连接的 4条后续线段,若其最后一条线段与当前线段重合,则形成4边逆时针闭合环,记录该4个线 段及相对应端点,生成4边逆时针闭合环的链表,该链表对应白色宏模块;否则继续遍历直 至完成; 12) 遍历线段集中的所有线段;对任一线段逐次递归地找连接角度为凹且顺次连接的 4条后续线段,若其最后一条线段与当前线段重合,则形成4边顺时针闭合环,记录该4个线 段及相对应端点,生成4边顺时针闭合环的链表,该链表对应黑色宏模块;否则继续遍历直 至完成; 13) 判断上述白色宏模块和黑色宏模块的连通,性并建立起相对几何坐标; 14) 将连通的4边逆时针闭合环和4边顺时针闭合环及其相对坐标和图像区域传递给 译码模块进行译码;将译码结果输出。
2. 根据权利要求1所述的一种Grid Matrix二维条码宏模块提取方法,其特征在于,所 述对图像做二值化处理的方法为: a) 对图像进行预处理,包括去噪声和平滑滤波; b) 将处理后的图像转换为灰度图像; C)使用laplace算子计算灰度图像中的边缘; d) 计算边缘图形的积分图; e) 将图像分割成若干块,并对每块子图像计算其中的边缘数量之和; f) 遍历所有子图像,若子图像中边缘数量和大于设定阔值,则认为该区域是二维码图 形区域,设置对应的判别矩阵的值为1 ;否则设定为0 ; g) 提升子图像的分辨率一倍,同样子图像的尺度缩小为原来的一半,利用预先获取的 积分图重新计算判别矩阵中边缘对应的子图像中边缘数量和; h) 若分辨率达到最大分辨率,则转入下一步,否则返回上一步; i) 对判别矩阵中为1的位置用化SU算法计算其自适应分割值; j) 扩张判别矩阵; k)利用判别矩阵分割图像,即图像中的像素灰度值若大于判别矩阵对应值,则设置为 255 ;否则设置为0。
3. 根据权利要求1所述的一种Grid Matrix二维条码宏模块提取方法,其特征在于, 所述对边界点链表简化的方法为;若某点位于其前后两点所构成的直线上,则从边界点链 表中删除该点。
4. 根据权利要求1所述的一种Grid Matrix二维条码宏模块提取方法,其特征在于, 所述线段集和端点集建立的方法为;按照逆时针方向遍历简化后的边界点链表,依次计算 连续两边界点的距离,若距离超过预先设置的阔值,则该两点属于轮廓上的清晰线段的端 点,保留该清晰线段和相对应的端点,生成线段集和端点集;若距离小于预先设置的阔值, 则删除该线段。
5. 根据权利要求1所述的一种Grid Matrix二维条码宏模块提取方法,其特征在于, 所述线段集中的端点坐标信息进行融合的方法为;遍历线段集中的每一个端点,若线段集 中的其他端点与该端点坐标的欧氏距离小于预先设定的阔值,则将两个端点的几何均值替 换两个端点;若两点间的欧氏距离大于设定阔值,则不做处理。
6. 根据权利要求1所述的一种Grid Matrix二维条码宏模块提取方法,其特征在于, 所述判断宏模块的连通性及建立起相对几何坐标的方法为;将所述4边逆时针闭合环链表 中的第一个4逆时针边闭合环的坐标设置为相对几何坐标系的原点(0, 0);读取与其相邻 的8个4边闭合环;按照空间关系给予每个新读取的闭合环W坐标值,并再如此迭代地访问 新读取的闭合环的领域,读出连通的4边闭合环之间坐标相对关系;并且从最小最大X和y 坐标指导连通管4边闭合环的范围。
【文档编号】G06K7/10GK104463067SQ201410736797
【公开日】2015年3月25日 申请日期:2014年12月4日 优先权日:2014年12月4日
【发明者】王俊峰, 唐鹏, 陈懿, 高志刚 申请人:四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1