基于手机摄像头快速响应矩阵码识读方法

文档序号:6607203阅读:164来源:国知局
专利名称:基于手机摄像头快速响应矩阵码识读方法
技术领域
本发明属于电子条码自动识别技术,特别涉及根据国标GB/T 18284-2000《快速 响应矩阵码》生成的快速响应矩阵码(又称QR 二维条码,QR 二维形码,简称QR code或QR 码),基于手机摄像头进行识别。
背景技术
条码技术是目前在全球应用最广泛的一种自动识别技术,现在应用在计算机管 理的各个领域,渗透到商业、工业、交通运输业、邮电通讯业、物资管理、仓储、医疗卫生、安 全检查、餐饮旅游、票证管理以及军事装备、工程项目等国民经济各行各业和人民日常生活 中。随着应用领域的不断扩展,传统的一维条码渐渐表现出了它的局限首先,使用一维条 码,必须通过连接数据库的方式提取信息才能明确条码所表达的信息含意,因此在没有数 据库或者不便联网的地方,一维条码的使用就受到了限制;其次,一维条码表达的只能为字 母和数字,而不能表达汉字和图像,在一些需要应用汉字的场合,一维条码便不能很好的满 足要求。QR码正是为了解决一维条码无法解决的问题而产生的。它具有高密度、高可靠性 等特点,全部信息都存储在一个二维条码中,不需要事先建立数据库。而且多数二维条码都 具有字节表示模式,即提供了一种表示字节流的机制,从而使对照片、指纹、掌纹、签字、声 音、文字等凡可数字化的信息进行编码成为可能。二维条码是大容量、高可靠性信息实现存 储、携带并自动识读的最理想的方法。由于条码技术具有输入速度快、准确度高、成本低、可 靠性强等优点,因此在各行业得到了广泛应用。手机二维条码是二维条码与移动通讯终端(手机)结合运用的产物。近年来,随着 拍照、彩信手机的扩大推广及移动通信增值业务的快速增长,应用在手机上的QR码技术应 运而生。手机二维条码是指将相关信息用二维条码进行编码,使二维条码信息以彩信的形 式在手机里存储、阅读、传播。手机既可作为二维条码信息的载体结合二维条码识读设备加 以应用,也可在手机中内置或下载二维条码识读引擎来识读商品、杂志上的二维条码标识, 从而获取二维条码内隐含的有效信息,来进行相关应用的开发。目前关于QR码识别的方法已经有所实现。在专利号为200710099877. 0的专利 中描述了一种基于摄像头的QR码识别方法,在文中,作者利用Hough变换确定条码符号的 边界,然后通过倾斜角度将符号旋转水平,再进行后续识别,这无疑丢掉了 QR码的重要特 征——超高速识读和360度识别特性。并且Hough变换运算量巨大,会增加大量的时间和 空间上的开销,因此,在高速嵌入式应用中,并不可取。现有QR码识别方法存在如下缺陷识别算法都是基于高配置的PC机,识别算法复 杂度较高,不适合手机这样的嵌入式平台使用。

发明内容
本发明就是要实现基于普通手机平台的QR码识别方法,能够通过手机迅速地识
3别QR码信息,以满足QR码在移动平台中的应用。为了实现本发明的目的,技术方案如下
对通过手机摄像头采集的图像进行灰度化;再对图像采用基于结果的二值化阈值法获 取阈值并进行二值化,得到黑白图像;再对黑白图像采用位置探测图形特征匹配方法进行 边界扫描,确定位置探测图形的位置并把它提取出来;为了得到条码图像的码字,通过三个 位置探测图形,确定快速响应矩阵码的符号区域范围,采用垂直水平双向定位并根据国标 GB/T 18284-2000《快速响应矩阵码》给出的条码识别参考算法提取快速响应矩阵码符号; 再根据快速响应矩阵码符号,采用BCH纠错算法求出版本信息和格式信息;在采用局部特 征匹配算法计算出条码的校正图形的坐标;再根据所得到的条码的符号区域坐标,确定条 码模块采样网格,计算模块的中心点坐标,读取快速响应矩阵码字信息。本发明基于普通手机平台的QR码识别方法,能够通过手机迅速地识别QR码信息, 以满足QR码在移动平台中的应用,并且利用已普及的手机摄像头采集快速响应矩阵码,以 提高识别率,快速有效地自动识读快速响应矩阵码的方法。本发明弥补了现有基于PC的QR 码识别方法的不足,实现了基于手机平台的QR码识别方法,解决了 QR码在实际应用中的关 键问题。


。图1本发明中快速响应矩阵码结构图。图2是QR码图像识别算法的基本流程。图3是位置探测图形特征匹配示意图(其中平行线段组和垂直线段组正交的中 点)o图4是局部特征匹配算法示意图。图5是校正图形的中心坐标的构造示意图。
具体实施方式
。本发明基于普通手机平台的QR码识别方法,对通过手机摄像头采集的图像进行 灰度化;再对图像采用基于结果的二值化阈值法获取阈值并进行二值化,得到黑白图像; 再对黑白图像采用位置探测图形特征匹配方法进行边界扫描,确定位置探测图形的位置并 把它提取出来;为了得到条码图像的码字,通过三个位置探测图形,确定快速响应矩阵码的 符号区域范围,采用垂直水平双向定位并根据国标GB/T 18284-2000《快速响应矩阵码》给 出的条码识别参考算法提取快速响应矩阵码符号;再根据快速响应矩阵码符号,采用BCH 纠错算法求出版本信息和格式信息;在采用局部特征匹配算法计算出条码的校正图形的坐 标;再根据所得到的条码的符号区域坐标,确定条码模块采样网格,计算模块的中心点坐 标,读取快速响应矩阵码字信息。基于结果的二值化阈值法是定义一组阈值,其值是阶越为16的阈值,范围为32至 224 ;对于光线过强(阈值>224)或光线过暗(阈值<32)的图像不识别,以提高识别速度和 准确度。本发明主要技术特点如下 (1)基于结果的二值化
我们定义一组阈值thresholdArray,其值是阶越为16的阈值,范围为32至224 ;对于 光线过强(阈值>224)或光线过暗(阈值<32)的图像,我们放弃识别,以提高识别速度和准确度,阈值数组如下赋值
“基于结果的二值化方法”算法如下
(1)我们用threSh0ldArray[i]中的阈值,对图像进行二值化,得到图像G;
(2)在二值化后的图像G里,寻找未知探测图形,如果探测失败,说明在此阈值下位置 探测图形不够明显,那么i++,返回(1);如果探测成功,则(3)
(3)计算QR码的版本,如果计算失败(version< 0或者version > 40),说明在此阈 值下QR码符号大小计算错误或版本图形区域码字读取失败,那么i++,返回(1);如果版本 号计算成功(1 ( version ( 40),则(4);
(4)进行条码属性的相关处理,读取QR码码字,进行RS纠错,如果RS纠错失败,说明 在此阈值下,QR码码字读取失败,那么i++,返回(1);如果RS纠错成功,表示在此阈值下QR 码码字读取成功,可以译码输出。图像的最终阈值是根据⑵(3)⑷的最终结果确定的,⑵(3)⑷中的任何一步 不能顺利进行,则说明当前阈值并不是最佳阈值,则需另行选取,直到译码成功为止。(2)位置探测图形特征匹配(如图3)
1.先水平扫描QR码图像,扫描过程中,记录下符合位置探测图形比例特征 (1:1:3:1:1)的边缘线段,然后垂直扫描QR码图像,扫描过程中,记录下符合位置探测图形 比例特征(1:1:3:1:1)的边缘线段;
2.由于摄像头扫描得到的条码模宽在2. 5个像素以上,因此,在某一个范围之内, 总会有一组符合位置探测图形比例特征的线段,并且这组线段的横坐标或纵坐标相等或近 似,其中,必然会有不符合位置探测图形形状特征的线段组存在,所以要对这些线段组进行 验证、筛选;因此,在符合位置探测图形特征的线段集合中,寻找如下线段。(1).设线段组中每条线段的宽度为Wi,平均宽度为W,线段组中线段的个数为N,
1 M
则伙,在该线段组中模
i-l
W3WW
块的平均宽度为〒,在标准图像中,况=+。那么,如果况说明线段组中线段的个
数小于模块的平均宽度,有可能是QR码同一组符合位置探测图形比例的模块所组成的线
Wx5
段组,这样的线段组就要舍弃;如果说明线段的个数大大超过了模块的平均宽 度,也不符合位置探测图形的形状特征,也要舍弃。(2).可以证明,设一组起始横坐标相同的平行线段A{Ai}和一组起始纵坐标相 同的垂直直线B {Bj},如果A与B正交,那么A中任意一条线段Ai和B中任意一条线段Bj 所组成图形的中心点坐标相同,并且中点坐标为C(A1横坐标的中值,B1纵坐标的中值),如 下图3所示。
根据这一原理,我们只需将(1)中符合条件的线段组的第一条水平线段和第一条 与其正交的垂直线段记录下,就可求得位置探测图形的中心坐标。从而减少了记录线段组 所需的内存,降低了扫描计算时间,提高了识别速度。3.根据2中的(2)计算即可求得位置探测图形中心坐标。(3)局部特征匹配算法(如图4所示)。1. 如上图3-4所示,根据左上角位置探测图形P皿的中心A的坐标,平行于上 图中的导向直线AB和AC的直线,以及模块大小moduleSize初步确定校正图形&和P2的 中心坐标。2. 从初定的中心坐标的像素开始,扫描校正图形Pi和己中的空白方块的轮 廓,得到1 1 1 1 1特征线段组,根据垂直线段组合水平线段组正交原则,确定实际的中心
坐标式和。(见图5所示)。3. 根据左上角位置探测图形P皿的中心坐标和在3中得到的校正图形Pi和P2 的实际中心坐标值,估计校正图形P3的初步中心坐标。按照3中同样的步骤确定P3的实际 坐标。根据右上角位置探测图形PUK中心坐标和校正图形Pi和P3的实际中心坐标值,估计 校正图形P4的初步中心坐标。按照3中同样的步骤确定P4的实际坐标。根据左下角位置 探测图形中心坐标和校正图形P2和P3的实际中心坐标值,估计校正图形P5的初步中心 坐标。按照3中同样的步骤确定P5的实际坐标。根据校正图形P3、P4*P5的实际中心坐 标值,估计校正图形P6的初步中心坐标。按照3中同样的步骤确定P6的实际坐标。至此,QR码符号的校正图形就可以获得。
下面结合附图,对本发明作详细的阐述。(1)灰度化。QR码图像的预处理在整个条码识别系统中起着至关重要的作用,直接影响着系统 的性能指标,是整个系统的核心。QR码图像的预处理首先要充分考虑到要识别的条码图像 的特点,做出相应的图像处理方案,并通过大量的实验去调整和优化。对于应用于嵌入式方 向的设备,还应该考虑到图像处理的速度是否满足实际的要求,识读速度的快慢将极大地 限制算法的实用性。本发明中用手机摄像头采集到的图像是包含QR码符号图像彩色图像,灰度化后 是有一定灰度背景的图像,如图1所示。由于光照的不均勻、在采集过程中的抖动等原因, 使采集到的图像背景的灰度值不为常数,条码符号图像与背景的对比度也有变化。图像中 的QR码图像是识别的主体,所以在对条码进行识别前,必须对先对图像进行处理,将图像 转换成黑白两个灰度级的图像,并将条码符号图像从整幅图像中分离出来。(2)基于结果的二值化处理。对于QR码识别,图像二值化的目的是为了去除背景,尽可能好的保留条码符号并 且减少符号中的噪音杂质,为在后续的条码识别中能够正确识别位置探测图形和正确读取 条码码字做基础,因此,QR码图像的二值化要与后续工作相结合进行,而不是单一的通过一 个阈值对图像二值化后而结束,即二值化是否完成要根据后续工作是否能够顺利完成而作 出决定,这就是本发明针对手机这种嵌入式平台的特点,对QR码识别提出的“基于结果的 二值化方法”。我们定义一组阈值thresholdArray,其值是阶越为16的阈值,范围为32至224 ;
6对于光线过强(阈值>224)或光线过暗(阈值<32)的图像,我们放弃识别,以提高识别速 度和准确度,阈值数组如下赋值
for (i = 0; i < 12 / 2; i++)
{
thresholdArray[i 氺 2] = 128 + (i + 1)氺 16; thresholdArray[i 氺 2 + 1] = 128 _ (i + 1)氺 16;
}
“基于结果的二值化方法”算法如下
(5)我们用threSh0ldArray[i]中的阈值,对图像进行二值化,得到图像G;
(6)在二值化后的图像G里,寻找未知探测图形,如果探测失败,说明在此阈值下位置 探测图形不够明显,那么i++,返回(1);如果探测成功,则(3)
(7)计算QR码的版本,如果计算失败(version< 0或者version > 40),说明在此阈 值下QR码符号大小计算错误或版本图形区域码字读取失败,那么i++,返回(1);如果版本 号计算成功(1 ( version ( 40),则(4);
(8)进行条码属性的相关处理,读取QR码码字,进行RS纠错,如果RS纠错失败,说明 在此阈值下,QR码码字读取失败,那么i++,返回(1);如果RS纠错成功,表示在此阈值下QR 码码字读取成功,可以译码输出。图像的最终阈值是根据⑵(3)⑷的最终结果确定的,⑵(3)⑷中的任何一步 不能顺利进行,则说明当前阈值并不是最佳阈值,则需另行选取,直到译码成功为止。(3)条码定位和处理。另外,摄像头聚焦也造成图像有一定的扭曲变形。由于手机摄像头分辨率有限,采 集到的图像受摄像头聚焦的影响比较小,对图像进行分割处理时,可以对此忽略;但在对分 割后的图像进行识别时,由摄像头的聚焦带来的变形会对识别产生一定的影响,为了尽量 减少这种影响,我们选择在对QR码图像分离出各符号字符后,以各符号字符的宽度和条码 符号的宽度相结合的方法来确定条码的模块宽度而不以条码符号的宽度来确定模块宽度。 这样,对图像的处理主要是图像的二值化处理。因此,本发明中QR码图像识别的基本思路是首先要对采集的彩色图像I(x,y), 进行灰度化,然后用适当的阈值T对灰度图像进行二值化,得到二值图像B(x,y)。因为对 于QR码,其三个位置探测图形是确定QR码是否存在的重要标志,因此,得到二值化图像后, 就要在二值图像中扫描边界,求出位置探测图形,通过三个位置探测图形,确定条码的符号 区域范围,定位并提取QR码符号,然后求出条码的版本信息和格式信息,进而求出条码的 校正图形的坐标。根据上述信息在条码的符号区域范围内读取QR符号码字信息。QR码图 像识别算法的基本流程如图2所示。基于物体、环境和应用域等知识的图像分割算法比基于固定阈值的算法更具有普 遍性和适应性。这些知识包括对应于物体的图像灰度特性、物体的尺寸、物体在图像中所 占的比例、图像中不同类型物体的数量等。其中图像直方图就是一种灰度特性,通常被用来 作为分割图像的工具。在许多情况下,背景的灰度值并不是常数,物体和背景的对比度在图像中也有变 化。这时,一个在图像中某一区域效果良好的阈值在其它区域却效果较差。这时,将灰度阈值T取成一个随图像中位置缓慢变化的阈值的函数值是适宜的。 最后所应说明的是,以上实施例仅用于说明本发明的技术方案而并非限制,尽管 参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应该理解,可以对本发 明的技术方案进行修改或等同替换,而不脱离本发明的精神和范围,其均因涵盖在本发明 的权利要求范围中。
权利要求
一种基于手机摄像头快速响应矩阵码识读方法,其特征在于对通过手机摄像头采集的图像进行灰度化;再对图像采用基于结果的二值化阈值法获取阈值并进行二值化,得到黑白图像;再对黑白图像采用位置探测图形特征匹配方法进行边界扫描,确定位置探测图形的位置并把它提取出来;为了得到条码图像的码字,通过三个位置探测图形,确定快速响应矩阵码的符号区域范围,采用垂直水平双向定位并根据国标GB/T 18284 2000《快速响应矩阵码》给出的条码识别参考算法提取快速响应矩阵码符号;再根据快速响应矩阵码符号,采用BCH纠错算法求出版本信息和格式信息;在采用局部特征匹配算法计算出条码的校正图形的坐标;再根据所得到的条码的符号区域坐标,确定条码模块采样网格,计算模块的中心点坐标,读取快速响应矩阵码字信息。
2.根据权利要求1所述的基于手机摄像头快速响应矩阵码识读方法,其特征在于基 于结果的二值化阈值法是定义一组阈值,其值是阶越为16的阈值,范围为32至224 ;对于 光线过强(阈值>224)或光线过暗(阈值<32)的图像不识别,以提高识别速度和准确度。
全文摘要
本发明涉及一种基于普通手机平台的QR码识别方法,其特征在于对通过手机摄像头采集的图像进行灰度化;再对图像采用基于结果的二值化阈值法获取阈值并进行二值化,得到黑白图像;再对黑白图像采用位置探测图形特征匹配方法进行边界扫描,确定位置探测图形的位置并把它提取出来;本发明基于普通手机平台的QR码识别方法,能够通过手机迅速地识别QR码信息,以满足QR码在移动平台中的应用,并且利用已普及的手机摄像头采集快速响应矩阵码,以提高识别率,快速有效地自动识读快速响应矩阵码的方法。本发明弥补了现有基于PC的QR码识别方法的不足,实现了基于手机平台的QR码识别方法,解决了QR码在实际应用中的关键问题。
文档编号G06T9/00GK101930532SQ201010244769
公开日2010年12月29日 申请日期2010年10月29日 优先权日2010年10月29日
发明者胡孝鹏 申请人:福州中路网络技术开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1