改进二值化算法在QR码识别中的应用

2020-05-28 09:36杨凌霄冯庆修
软件导刊 2020年3期
关键词:图像识别

杨凌霄 冯庆修

摘 要:针对模糊、光照不均情况下获得的低质量QR码难以识别的问题,设计一种低质量QR码识别算法,包括加权平均值法灰度化、中值滤波算法降噪、二值化、基于位置探测图形定位、基于透视变换法的旋转矫正,以及基于Zbar开源库的译码算法等。重点研究针对模糊、光照不均QR码图像的二值化算法,提出一种基于Bernsen算法思想的改进算法,将全局阈值引入該算法中,实现对图像的二值化处理。在VS2010环境下基于Opencv2.4.9图像处理库对识别算法进行验证,结果表明,通过该算法得到的QR码图像完整且噪声少,有效克服了低质量QR码的影响,提高了图像识别率,具有一定的实用性。

关键词:低质量QR码;二值化;Bernsen;Zbar;图像识别

DOI:10. 11907/rjdk. 191689

中图分类号:TP319   文献标识码:A                文章编号:1672-7800(2020)003-0163-05

The Improvement Binarization Algorithm for QR Code Recognition

YANG Ling-xiao, FENG Qing-xiu

(School of Electrical Engineering and Automation, Henan Polytechnic University, Jiaozuo 454000, China)

Abstract:The paper devises an improved computing method for low quality QR code, including graying, the de-nosing median filtering algorithm, binarization, positioning, correction and a decoding computing method based on Zbar open source library, so as to address the problem of the inability to recognize the QR code caused by blur images and uneven lighting. The paper attaches great importance to the binarization of blurring and uneven light QR images, thus proposing an improved computing method based on Bernsen method with the introduction of global thresholding to achieve the binarization of QR code. The author tests this computing method based on OpenCV2.4.9 computer vision open source library in VS2010 setting. The study indicates that this approach will efficiently overcome the negative impact low quality QR code have on the recognition, consequently and proficiently create a full image with less noises and improve the recognition rate of QR code.

Key Words: low quality QR code; binarization; Bernsen method ; Zbar; image recognition

0 引言

QR码识别技术是一门不仅将数据采集、处理、传输等过程融为一体,而且跨越了多门学科的新兴科学技术。当前,人们对QR码识别技术的相关研究主要集中在以下3个方面:QR码图像采集、图像预处理与图像译码。首先,通过图像采集模块对QR码图像进行采集,然后通过处理器对采集到的图片进行预处理,具体过程包括图像灰度化、滤波、二值化、滤波、校正与定位。预处理的目的是为了提高图片质量,以便于下一步解码,是整个识别过程中的关键环节。最后对处理后的图像进行解码,识别QR码格式及版本,完成掩膜消除、纠错等过程,并输出QR码携带的字符信息。但在实际应用中,噪声、抖动、光照不均等因素都会导致采集设备获得的图像质量不高,若预处理方法选取不当则会使处理后的图像出现信息丢失的情况,导致图像无法识别。

图像灰度化是指将彩色图像转化为灰度图像的过程,可以减少输入图像的信息量以及后续运算量[1],不仅可以加快后续算法处理速度,还提高了系统效率[2-3]。加权平均值法是常用的图像灰度化处理算法[4],根据重要性或其它指标赋予R、G、B不同权值,并使R、G、B的值均等于其原值的加权和。不同权值形成的灰度图像亮度不同,由于人眼对颜色的敏感程度是根据绿红蓝顺序递减的,因此将R、G、B权值由大到小取值将得到比较合理的灰度图像[5]。通过实验与理论推导证明,R、G、B权值分别为0.30、0.59、0.11时得到的灰度图像最为合理[6]。本文采用该方法获得QR二维码的灰度图像。

通过采集模块获取到的QR码图像或多或少都包含噪声成分,如加性噪声、乘性噪声等,从而使图像变得模糊,因此有必要对图像进行滤波处理,即在最大程度保留图像细节特征的前提下抑制目标图像噪声,其处理结果将直接影响对后续QR码图像的识别。图像滤波包括线性滤波和非线性滤波,如果输出像素是输入像素邻域像素的线性组合,则称为线性滤波,如均值滤波和高斯滤波,否则为非线性滤波,如中值滤波、边缘保持滤波等。针对图像滤波研究,邹雄等[7]对二维码图像预处理过程中的噪声滤除方法进行研究,对几种常用的中值滤波方法进行比较分析并得出规律,继而提出一种基于窗口系数的中值滤波算法,该方法先对图像进行二值化,之后进行中值滤波,对于特定噪声具有较好的处理效果;Andria[8]利用小波线性滤波器对超声医学图像进行去噪处理,可能会损失图像中的细节信息;罗学刚等[9]提出一种选择性计算的快速非局部均匀去噪算法,利用 L2范数逐次消元法剔除大量相似像素点,提高了去噪速度;郭强等[10]根据图像的低秩特性和最小方差估计理论提出迭代去噪算法,能有效抑制残留噪声;李博等[11]提出一种小概率策略的全局自适应分数阶积分去噪算法,在去噪的同时还能增强与保留图像纹理。目前在QR码噪声预处理方法中,中值滤波算法简单且处理效果较好,因此本文选择该算法并将其应用于QR码识别系统中。

(1)采用加权平均法对图像进行灰度化处理。

(2)遍历图像所有灰度值,将使类间方差目标函数值最大的灰度值记为全局阈值[Τ1]。

(3)令[S=15,T=0.5×(Τ1+128)],[fx,y]为当前像素[(x,y)]的灰度值,计算以当前像素为中心、大小为[2w+1×2w+1]的窗口内,所有灰度值中最大灰度值[M]和最小灰度值[N]的均值[Τ2]。

(4)计算窗口内所有灰度值的平均值[average]和均方差SS,其中[x-w xx+w],[y-wyy+w]。

(5)令[T=αT1+βT2],其中[α+β=1,α0,β0],对图像像素逐点进行二值化处理,规则如下:

将全局阈值引入局部阈值法中,使每一个窗口内的信息与图像整体信息相关联,将窗口内所有灰度值的均方差引入算法中。当[SSS]时,说明该窗口内灰度值较为宽泛,像素处于前景和背景交叉区域,此时应以[T]为阈值,使得边缘更加连续、平滑;当[SS

3 实验结果

3.1 改进二值化算法实验

二值化算法中有3个参数[w、α、β]需要手动设定。[w]决定局部窗口大小,算法运行时间与其有一定关系,选取的局部窗口越大,耗时越长,也会影响计算结果的准确性。[α、β]决定全局阈值与局部阈值在算法中的权重,α越大,二值化后的图像中弱光或强光区域凸显的细节越少,而[α]过小会导致[β]过大,误判概率增大。为了保证二值化处理效果,参数选取以[α<β]为原则。经过多次实验,确定算法参数[w、α、β]分别取值为1、0.3、0.7。

利用笔记本摄像头拍摄获得OR码图像,并从中选取标准、模糊、光照不均,且大小均为640*480的QR码图像各50幅对算法可行性进行验证。在VS2010环境下基于Opencv2.4.9图像处理库编写程序,分别采用Bernsen算法、Otsu算法与本文算法对图像进行二值化处理,3种算法处理结果如图2-图4所示。

在3组图像中,将方框区域放大后观察可发现:Bernsen算法对图像进行二值化处理的效果最差,对前景与背景误判比较严重,处理后的图像无法识别。但对比图2(b)、图3(b)、图4(b)可以发现,模糊、光照不均等因素对Bernsen算法二值化的影响很小,这一点也反映出该算法的优势;Otsu算法处理结果分别表现出白斑、有毛刺、不完整的现象,但该算法的前景和背景误判问题远没有Bernsen算法严重;通过对比图3(c)与图3(d)发现,在图像模糊的情况下,本文方法获得的二值化图像边缘平滑、连通性好,解决了Otsu二值化方法出现大量毛刺、白斑的问题,并克服了Bernsen算法出现大量误判的缺陷;通过对比图4(c)与图4(d)可以发现,在图像受到不均匀光照的情况下,本文方法获得的二值化图像比较完整,较好地解决了Otsu二值化方法因存在区域缺失导致QR码无法识别的问题。

3.2 QR码识别算法可靠性实验

将QR码识别过程分为3部分:图像采集、图像预处理与图像译码。图像采集是指通过笔记本摄像头拍摄获得QR码图像数字信息;图像预处理是指以获得的QR码图像数字信息为基础,利用图像处理技术通过Opencv库函数对该图像进行滤波、灰度化、二值化、定位与旋转矫正;图像译码是指利用Zbar开源库译码算法进行译码,获取QR码存储的数据信息。其中图5(a)表示采集设备获得的原图;图5(b)为灰度图;图5(c)为二值化图;图5(d) 、图5(e)和图5(f)是QR码定位检测结果;图5(g)为最终定位标记图;图5(h)为最终校正图。

由于显示介质的亮度不唯一,且QR码载体(如手机)在扫描过程中难免出现抖动,造成识别设备拍摄到的图像出现亮度不均、模糊等情况,分别针对这两种情况下QR码识别效果进行测试。通过笔记本摄像头拍摄手机显示屏上显示的QR码图像,在拍摄过程中采用抖动手机的方式获得50张模糊的QR码图像,并采用补光方式获得50张光照不均的QR码图像,其识别结果如表1所示。通过对100 张QR码识别时间进行测试,然后求平均值以得到相对准确的识别时间。实验得到的8组数据如表2所示,其中“A”表示该程序对一张QR码进行预处理与译码的时间,“B”表示该算法识别一张QR码的时间。

通过分析识别结果可以发现,算法针对模糊、光照不均图像的识别率均为94%。QR码图像的预处理与译码时间在100ms以内,识别时间集中在260ms~300ms之间,100次识别时间的平均值为275.746ms。实验结果验证了本文提出的基于VS2015平台的QR码识别算法的可行性与实用性。

4 结语

本文提出一种针对QR码图像的识别算法,并重点对识别过程中的二值化算法进行改进,在结合局部阈值和全局阈值的同时,引入局部窗口灰度值均方差。在对模糊、光照不均情况下的二维码圖像进行处理时,通过多重规则选取不同阈值进行二值化处理,能够得到比Otsu算法与Bernsen算法细节更丰富的图像。在VS2010环境下基于Opencv2.4.9图像处理库与Zbar解码库验证识别算法可靠性,实验结果表明,本文提出识别算法得到的OR码图像完整且噪声少,有效克服了模糊、光照不均等因素对识别过程的影响,识别率高,具有一定的实用性。然而,在预处理过程中,本文虽然利用透视变换法校正倾斜图像,但如果形变较为严重,或选用的摄像头模组出现非线性畸变(桶形畸变或枕形畸变),该算法处理效果则不够理想,如何克服该问题是下一步研究的重点。

参考文献:

[1]陆一滨. 二维码在医疗设备标识中的应用[J]. 中国医疗设备, 2015,30(4): 140-141.

[2]刘凯,罗凯耀,姜代红. 基于VC++的车牌图像预处理设计与实现[J]. 软件导刊,2015,14(6): 189-190.

[3]张芳,王璐,付立思,等. 复杂背景下黄瓜病害叶片的分割方法研究[J]. 浙江农业学报,2014(5): 1346-1355.

[4]彭溦汐,赵冠先,王志前. 基于图像识别系统的灰度化算法研究与效率分析[J]. 电子世界,2014(7): 105.

[5]朱其刚,朱志强. 彩色图像转换为灰度图像的算法研究[J]. 山东科技大学学报,2004, 23(3): 120-123.

[6]李贞培,李平,郭新宇,等. 三种基于GDI+的图像灰度化实现方法[J].  计算机技术与发展,2009, 19(7): 73-75,79.

[7]邹雄,何翠群,刘国栋,等. 一种快速响应码的图像二值化方法[J]. 传感技术学报, 2010, 23(9):1277-1280.

[8]ANDRIA G,ATTIVISSIMO F,CAVONE G. Linear filtering of 2-D wavelet coefficients for denoising ultrasound medical images[J].  Measurement, 2012, 45(7): 1792-1800.

[9]罗学刚,吕俊瑞,王华军, 等. 选择性计算的快速非局部均值图像去噪[J]. 电子科技大学学报,2015, 44(1): 84-90.

[10]郭强,张彩明,张云峰,等. 基于最小方差估计的图像低秩去噪[J]. 计算机辅助设计与图形学学报, 2015, 27(12): 2237-2246.

[11]李博,谢巍. 基于自适应分数阶微积分的图像去噪与增强算法[J]. 系统工程与电子技术, 2016, 38(1): 185-192.

[12]贾坤昊,夹尚丰,杨栩,等. 改进Niblack算法及其在不均匀光照条件下的应用[J]. 软件导刊, 2019, 18(4): 82-86.

[13]SUDEEP T,RIK D,SAURAV G. A novel feature extraction technique using binarization of bit planes for content based image classification[J]. Journal of Engineering, 2014.

[14]HEMASK. To detect the text stroke in degraded document images using cannysmap, binarization technique[J]. International Journalof Engineering Sciences&Research Technology,2014,3(6):157-162.

[15]袁璐, 李仁发. 一种改进的字符图像二值化算法[J]. 微计算机信息,2012,28(3): 140-141,180.

[16]NOBUYUKI O. A threshold selection method from gray-level histogram[J].  IEEE Trans on Syst Man Cybernet, 1979, 9(1): 62-69.

[17]JOHN B. Dynamic Thresholding of gray-level image[C].  IEEE International Conference on Pattern Recognition, 1986: 1251-1255.

[18]SHANG W, CHENG Y.An improved OTSU method based on Genetic Algorithm[C].  International Conference on Machinery, 2016.

[19]孟立娜,韩其睿. 一种全局和局部相结合的二值化方法研究[J]. 计算机技术与发展, 2012, 22(11): 116-119.

[20]HU H, XU W, HUANG Q. A 2D barcode extration method based on texture direction analysis[C]. IEEE Compture Society,2009: 759-762.

[21]LIU Q, LI X, MEI Z, et al. The multi-QR codes extraction method in illegible image based on contour tracing[C]. IEEE International Conference on Anti-counterfeiting,2011.

[22]何援軍.  透视和透视投影变换论图形变换和投影的若干问题之三[J].  计算机辅助设计与图形学学报, 2005, 17(4): 734-739.

[23]胡东红, 汪浩, 艾君,等.  两种图像校正算法在实际应用中的比较[J].  计算机工程与应用, 2009, 45(13): 191-193,226.

(责任编辑:黄 健)

收稿日期:2019-05-13

作者简介:杨凌霄(1964-),女,硕士,河南理工大学电气工程与自动化学院教授、硕士生导师,研究方向为智能控制与信息处理;冯庆修(1992-),男,河南理工大学电气工程与自动化学院硕士研究生,研究方向为现代检测技术与装置。本文通讯作者:冯庆修。

猜你喜欢
图像识别
支持向量机的舰船图像识别与分类技术
浅谈图像识别技术在打击绿通假证逃费中的应用
基于图像识别和多感知融合的列车自动防护方案
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
一种基于TuriCreate和OpenCV的实时图像识别系统设计
基于图像识别的田间玉米秆识别系统设计与实现
浅谈模式识别在图像识别中的应用