数字图像处理算法在QR码识别中的应用

2013-07-13 06:43马超
电子设计工程 2013年5期
关键词:条码方差灰度

马超

(杭州电子科技大学 计算机学院,浙江 杭州 310018)

数字图像处理算法在QR码识别中的应用

马超

(杭州电子科技大学 计算机学院,浙江 杭州 310018)

介绍了基于数字图像处理的QR码识别算法。该方案综合运用了图像灰度化、滤波去噪、二值化、边缘检测、图像旋转等多种图像处理方法对条码图像进行预处理。理论分析和实验结果表明:该算法提高了识读的灵活性和可靠性,为QR码识别提供了一种新途径。

QR码;图像处理;图像定位;识别

QR码是一种矩阵二维码符号[1],它除具有二维条码所有的信息容量大、可靠性高、可编码汉字及图象多种格式信息、保密防伪性强等优点外,还具有超高速识读、全方位识读、纠错能力强等特点,在我国具有广泛的应用前景,因此对二维QR码识别技术的进一步研究有着深远的意义。QR码识别技术是计算机视觉和智能识别技术在现代物品标识管理系统中的一项重要研究课题。随着移动互联网的发展,物联网在全国大规模的推广应用,QR码识别设备也得到了更广泛的应用。笔者提出了一种QR码图像的预处理算法,可以对QR码进行准确的译码。

1 图像预处理

1.1 图像灰度化和噪声滤波

QR码图像是由深浅相间的像素点组成,由摄像头设备采集的图像一般是彩色图像[2]。通过RGB彩色图像每个像素的R、G、B分量进行加权平均,得到对应的灰度图的亮度,具体公式如下:Gray=0.299×R+0.586 6×G+0.114 5×B。

采集的图像含有随机噪声,根据噪声和信号的关系可以将其分为两种形式:加法噪声和乘法噪声。设f(x,y)为观测数据,n(x,y)为噪声数据,输出数据为 g(x,y)。 加法噪声:输出的数据为观测数据和噪声数据的加法叠加。其特点是无论观测数据大小,噪声n(x,y)与观测数据无关。比如信道噪声属加性噪声。 可以表示为 g(x,y)=f(x,y)+n(x,y)。 乘法噪声:有的噪声与图像信号有关,乘法噪声输出的数据为两部分叠加,可表示为 g(x,y)=f(x,y)+n(x,y)× f(x,y)。 常用滤波方法有以下几种:

1)均值滤波

2)中值滤波

中值滤波是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值[3]。记作 med{a1,a2,a3……an}。 具体步骤如下:

①将选好的窗口在图像中漫游,并将窗口中心与图像中心某个像素的位置重合;

②将该窗口下各像素灰度值从小到大排列成一列;

③将排列的中间值赋给对应窗口中心位置的像素。

中值滤波对极限像素值远不如平均值那么敏感,从而可以消除孤立的噪声点,使图像产生较少的模糊,保护图像的边缘信息。在MATLAB图像处理工具箱中,提供了medfilt2函数用于实现中值滤波。

3)自适应滤波

图像噪声的自适应滤波可以使用MTLAB工具箱中的Wiener2函数。Wiener2函数根据图像的局部方差来调整滤波器的输出,当局部方差大时,滤波器的平滑效果较小,滤波器平滑效果强。Wiener2函数通常对于含有白色噪声的图像滤波效果较好,比如含有高斯白噪声的图像。Wiener2函数采用的算法是首先估计出像素的局部矩阵和方差:

η是图像中每个像素的M×N的邻域。然后,对每一个像素利用Wiener滤波器估计出其灰度值:

这里v2是图像中噪声的方差。

1.2 图像二值化

图像二值化的关键在于选取合适的阈值将目标与背景分开,既要尽可能保存图像的信息,又要减少背景和噪声的干扰。二值化的方法有全局和局部两种。

最大类间方差法(简称OTSU)属于全局阈值算法,主要思想是选择使得被阈值分开的两组像素之间的方差达到最大的值。背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大。 首先,对具有L级灰度图像,记t为目标与背景的分割阈值,将图像分为两类:C1∈[0,t],C2∈[t+1,L-1]。然后对图像的直方图进行归一化pi=ni/N,pi≥0,

其中N为图像的总像素数,ni为灰度值i的像素数。因此C1和C2类出现的概率及均值分别为:

为了得到最佳阈值,应该使得类间方差最大,即最佳阈值为t=arg max σ2.OTSU算法一般采用遍历阈值定义域[0,L-1]来搜索最佳阈值。在实际中,由于噪声的存在类间方差可能比较平坦或者呈现双峰或多峰,此时往往会采用局部阈值法。

根据QR码图像的特点应该是离当前点越近的像素对当前点的影响越大,越远则越小,所以本文改进Wellner算法,使用带权重的滑动函数窗口。积分图(Integral Image)是将图像从起点开始到右下方的各个点所形成的矩形区域内所有像素之和作为数组的一个元素保存在内存中,当要计算某个区域的像素和时可以直接索引数组的元素。如图1所示。

图1 积分图原理Fig.1 Theory of integral image

图2 自适应二值化法Fig.2 Self-adaptive binarization

本文提出一种基于Wellner算法的自适应阈值法对图像进行二值化处理。如图2所示。用一个s×s(s为奇数)大小的核窗口来代替滑动窗口,中心点像素是要进行二值化运算的像素Pi,则核窗口内所有像素的均值与Pi进行比较。

在本算法中影响二值化效果的两个因素为核窗口的大小s和阈值T,经过实验证明当s等于图像宽度的1/8时,当T等于15时二值化效果最好。

2 图像定位

实际采集的QR码往往存在不同程度的几何失真。文献[4]中用传统的边缘检测和Hough变换确定条码的边界,计算出倾斜角再将图像旋转至水平位置进行识别,此方法的运算量比较大,影响识别效率。考虑到由于QR码本身的码图特性,我们可采用基于位置探测图形的方式结合Hough变换定位QR码图像。

QR码的位置探测图形依次是由1:1:3:1:1的深浅模块组成,如图3所示,而且这个比例不随图像的大小和旋转而改变,当对图像进行水平和竖直方向扫描时,当遇到深浅模块比例按1:1:3:1:1出现时,记录其行或列的位置,直到所有行列被扫描完,记录最边界的行与列的位置。这样可以计算得出一正方形对角线中心即为探测图形的中心。同理,可以确定其他两个探测图形的中心。

图3 QR位置码探测图形模块Fig.3 Finder patterns of QR code

图4 平面投影转换示意图Fig.4 Control point transformation

3 实验结果

一般情况下,摄像头分辨率越高,条码细节处理越细腻,越有利于条码的识别。此处使用130万像素的普通摄像头对QR条码进行采集,比较传统算法和本文提出的图像预处理算法后,可发现本文算法在识别率上优于传统算法,在识别时间上和传统算法相当,但可以预计在提升硬件性能后识别时间会有较大的优化。

表1 实验数据结果比较Tab.1 Comparison of experimental data

图5 QR码识别过程Fig.5 Process of QR Code recognition

4 结束语

文中在分析比较已有传统算法后提出了一种QR码图像预处理算法,对使用通用设备采集的QR码图像,利用滤波处理、自适应二值化、边缘检测等方法对条码进行定位识别,解决条码畸变情况下难于识别的问题,具有较高的解码效率,能够满足实际应用的需要。

[1]GB/T18284.中华人民共和国国家标准-快速响应矩阵码(QR Code)[S].北京:中国标准出版社,2000.

[2]李军.QR码的图像恢复和识别技术研究与实现[D].苏州:苏州大学,2010.

[3]黄婷婷.QR码识别方法研究[D].长沙:中南大学,2008.

[4]肖翔,刘晓明,王云柯.QR码图像的矫正与定位方法研究[J].计算机科学,2007,34(11):217-219.

XIAO Xiang,LIU Xiao-ming,WANG Yunv-ke.Rectification and localization of quick response code image[J].Computer Science,2007,34(11):217-219.

[5]王明振.QR码在Android手机平台的解码算法研究[D].郑州:郑州大学,2011.

[6]夏正良,李久贤.数字图像处理[M].2版.南京:东南大学出版社,2008.

[7]远朋,董海.计算机图像处理技术基础[M].北京:北京大学出版社,1996.

Digital image processing algorithm for QR code recognition

MA Chao
(College of Computer Science and Technology, Hangzhou Dianzi University, Hangzhou 310018, China)

This paper mainly focused on image processing algorithm for QR code recognition.The solution synthetically uses image graying,image denoising,image binarization,edge detection,and image rotation etc.to complete the preproceasing of bar codes.Theoretical analysis and experimental results show that the solution enhance the flexibility and reliability of Recognition,provide a new way for QR code recognition.

QR Code; image processing; image Location; recognition

TP391.4

A

1674-6236(2013)05-0027-03

2012-10-09稿件编号201210040

马 超(1987—),男,浙江杭州人,硕士研究生。研究方向:计算机系统结构。

猜你喜欢
条码方差灰度
采用改进导重法的拓扑结构灰度单元过滤技术
热线互动
概率与统计(2)——离散型随机变量的期望与方差
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
浅析影响商品条码质量的主要因素
日杂商品条码质量现状研究
方差越小越好?
计算方差用哪个公式
方差生活秀
基于最大加权投影求解的彩色图像灰度化对比度保留算法