戴西 金陵科技学院网络与通信工程学院
QR二维码解码中的图像处理技术研究
戴西 金陵科技学院网络与通信工程学院
随着近年来网络信息技术的发展,二维码技术逐渐应用于各行各业。二维码技术是一门集合了信息编码、信息传递、图像处理、信息加密的综合性技术。其中QR二维码因其能快速被生成和解码,被广泛应用于日常生活中。本文以QR二维码为主题,对其解码过程中所涉及到的图像处理主要技术做了介绍及分析。
QR二维码 二维码 图像处理
近年来,随着物联网技术及移动支付技术的快速发展,二维码技术在社会生活中得到了越来越广泛的应用,而关于二维码编解码技术的研究也日益成熟。较一维条形码而言,二维码技术具有信息量大、容错率高且安全性高的特点。二维码技术中的一种,QR二维码(Quick Response Code),即快速响应矩阵图码,因其响应识别的快速性,被越来越多地应用在各行各业。从快捷支付到身份验证,QR二维码的应用范围包括了物品识别、营销、物流系统等各个方面,是一项成本低、自由度大的技术。
在QR码的识别、解码过程中,图像处理技术是关键技术之一,也是研究的热点。在此方面的研究方向主要集中于图码识别的快速处理和有干扰(如图码残缺、污染)情况下的二维码识别两个方面。本文将以QR二维码为主题,对其解码过程中所涉及到的图像处理主要技术做详细介绍及分析。
QR二维码技术于1994年由日本DENSO WAVE公司发明。日本QR码的标准JISX 0510在1999年1月发布,而其对应的ISO国际标准ISO/IEC18004,则在2000年6月获得批准。我国的QR码国家标准也于2000年颁布并使用。
QR二维码一般呈正方形,由黑白两色构成。如图一所示,一个普通二维码的基本结构包括空白区、功能图形区、编码区三个部分。其中功能图形区又包括位置探测图形、位置探测图形分隔符、定位图形和校正图形。编码区则包括格式信息、版本信息、数据和纠错码字部分。
图1 QR二维码基本结构
将编码后的数据序列填充到对应的二维码矩阵区域中,便构成了基本的二维码。
图2 二维码数据填充示意图
QR二维码解码过程中的图像处理技术大致可分为图像预处理、图像定位与校正、数据读取几个部分。
以摄像头采集QR二维码图像为例,在QR二维码解码和识别过程中,首先要将QR二维码符号从采集到的背景图像中分割出来,一方面可以消除背景对二维码识别的干扰,另一方面减少数据读取时的处理范围,提高识别效率。该种情况下所使用的图像分割算法可以基于背景的复杂程度分为基于简单背景和复杂背景下的图像分割。简单背景下常见分割算法有Otsu法、色差法和K-means聚类法等;复杂背景下可使用基于感兴趣区域分割思想,引入视觉注意机制模型如Itti模型和GBVS模型进行二维码图像的分割。
由于采集到的图像一般为彩色图像,而二维码图像一般由深浅两色表示信息,在进行预处理时应将图像进行灰度化和二值化,可以大大减少图像处理的复杂度,提高运算效率。将图像中彩色像素点的RGB数值转换为灰度值通常使用灰度加权法,其转换公式为:
该公式为经验公式,其中系数为规定的常数。
经过灰度化处理后,将图像进一步进行二值化会更方便信息的提取。在拍摄图像时,周围的光源会影响灰度化后图像的灰度分布。如在环境光分布不均匀的情况下直接对灰度图像进行全局单一阈值的二值化处理,可能会使图像较暗部分被统一处理成黑色,造成信息损失。因此需选择合适的二值化算法对灰度图像进行处理,尽量消除由光照不均造成的干扰。
进行图像二值化处理的关键点是选取合适的分割阈值。常用的算法包括阈值法、边缘检测法、区域生长法等。对于QR二维码图像光照不均的具体情况,也有研究者专门对算法进行了改进和研究。如,杨佳丽等提出的将灰度图像分割成四块处理,分别计算阈值的自适应阈值算法;孙明等提出的结合直方图双峰法、Otsu法及Niblack阈值法的自适应阈值法等。其基础思想都是基于图像整体或局部灰度曲线的波峰分布,设计算法得到合适阈值。
QR二维码的定位有助于快速、准确地识别检测图码。目前QR二维码的检测定位方式主要分为两类:一类是基于二维码自带的位置探测图形(见图1)进行定位,二是基于二维码的边缘检测进行定位。一般较为常用、更为快速的是第一类定位方式。如图3所示,位置探测图形的黑白边宽度比由左至右为1:1:3:1:1。无论图形尺寸大小或旋转方式不同,在穿过探测图形的同一水平线上,宽度比保持该比例不变。对二值化图像按行扫描,如找到相邻、长度比相符、排列为深浅交替的线段,则可记录并进行判定。检测出图像中三个位置探测图形的位置后,还可将图像旋转恢复至水平,从而实现对二维码的定位。
图3 基于位置探测图形定位示意图
QR二维码的采集过程中,由于摄像角度等问题,图像可能产生畸变,即实际采集到的二维码图像并非正方形,而可能呈不规则四边形,出现失真。此时需要对图像进行校正,以保证解码的可靠性。对于由拍摄角度所造成的失真,可以利用投影变换,用边缘检测算法找出条码的四条边界线,设拍摄图像中任意一点坐标为P(x,y,1),则校正图形中有对应点P’(x’,y’,h),并存在三维矩阵 T,使P’=TP。
令比例因子t22取1,将畸变图像与校正图像的四个顶点坐标一一对应代入方程,可解得矩阵T中未知数,从而得到校正图像。
图4 图像校正示意图
QR二维码可看作由一系列正方形单位模块构成,在二维码定位过程中,通过对位置探测图形的识别和测量,可以得出单位模块的尺寸和二维码图像的长宽,并以单位模块尺寸为基准建立采样网格。通过对于采样网格的交点抽取像素值,统计该交点所在模块中像素点的分布来判断该模块是黑色还是白色,由此掌握QR码中各个模块的信息。根据模块信息,对照对应规格的二维码构成矩阵,提取出数据信息,并按照编码规则进行解码计算,完成数据读取工作。
本文以QR二维码为主题,对其解码过程中所涉及到的图像处理主要技术做了介绍及分析。目前二维码的图像识别和处理技术日渐成熟,综合使用各种二维码技术的情况也越来越多,这项技术确实使人们的生活产生了巨大的改变,研究者们也在继续挖掘着二维码的发展空间。而与二维码所对应的图像处理技术,也会向着更快、更准确的方向逐步迈进。
[1]GB/T 18284-2000.快速响应矩阵码[S]
[2]杨佳丽, 高美凤. QR码图像二值化的研究[J]. 计算机工程与应用, 2009, 45(35): 176 178, 95.
[3]孙明, 傅隆生, 杨信廷, 等. 用于QR码自动识读的图像分析方法[J]. 电子科技大学学报, 2009, 38(6): 1017 1020.
[4]Hill F S,JR.计算机图形学—用Open GL 实现[M]罗霄,商青华,袁春阳,等译.2 版北京:清华大学出版社,2006