您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 基于图像预处理的二维码识别技术的研究
《计算机视觉》指导教师:梁栋1基于图像预处理的二维码识别技术的研究摘要:随着计算机科学技术的发展,自动识别技术得到了广泛的应用。在众多自动识别的技术中,条码技术已经成为当今主要的计算机自动识别技术之一。为解决条码信息容量有限的问题,九十年代以来出现一种新的条码——二维码。二维码是指在平面二维方向上,使用某种特定的几何图形按一定规律分布的黑白相间的,用以记录信息的符号。在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。二维码主要分为两大类:一是堆叠式是二维码,其主要代表是pdf417;二是矩阵式二维码,主要包括QR码和DataMatrix码。在现代商业活动中,二维码以其低成本、快速识读、含有大量信息而广泛应用于各个行业,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等,人们通过手机二维码的扫描软件就可以轻松获得二维码中所储藏的信息。对QR码进行识别需要使用采集设备采集的图像,但图像的采集过程中由于受到各种因素(如光照不均匀、拍摄角度、二维码有褶皱等)的影响,可能导致二维码图像背景有各种噪声,收到的图像可能存在几何畸变或者图像有阴影,从而导致识读设备很难识读,给解码带来相当大的困难。因此,如何对收集到的图像进行适当的去噪和校正已成为二维码识别的关键问题[1]。本文主要针对异常QR码以及DataMatrix码的识别进行描述,先表明二维码识别要解决的问题、任务和框架,并对现有方法进行阐述,最后讨论二维码识别技术仍需解决的问题,并展望看其未来研究方向。1.二维码识别的概念框架随着二维码的广泛使用,二维码被广泛认知,当人们遇到二维码扫描失败的时候,对其产生的影响也是巨大的,人们会怀疑是不是产品是假的,或者是有诈骗信息,但其主要问题可能是:1)二维码的扫描不够精确;2)不是真的二维码图形;《基于图像处理的二维码识别技术的基本研究》作者:丁真真23)更新的条码种类未被录用到扫描软件中;4)二维码图案被破坏,或没有处于理想状态下;上述问题只是二维码不能识别的部分原因,就上述问题,还没有某一款软件或产品能够同时解决上面所有的问题,由此,二维码的识别过程中所要完成的主要任务,即在用二维码软件扫描二维码时,先对其图案进行图像的预处理,使其符合各二维码的种类规范,然后再对其进行读取。基于图像预处理的二维码识别的基本流程包括:图像灰度化、图像滤波、光照均衡化、图像分割、图像二值化、边缘检测、图像定位、图形旋转,失真校正等。本文主要总结针对二维码图形预处理的方法,以期能够提高二维码的识别度。2.二维码条码2.1QR码简介QR码是快速识别矩阵码(quickresponsecode)的简称,最早由日本DENSO公司在1994年9月推出,我国于2000年底颁布了QR码的国家标准。QR码符号呈正方形,由空白区、功能图形区、数据图形区组成。功能图形区又分为位置探测图形、校正图形、格式信息、版本信息、定位图形等不同的图形形式,如图1所示。各部分图形都由深色模块(代表二进制1)或浅色模块(代表二进制0)组成,位置清晰,功能性强,有利于进行图像处理和识别[2]。根据编码数据量的多少,QR码可以分为40个版本,从版本1到版本40,符号容量越来越大,相应的图形所占的面积也增大,每增大一个版本,符号图像的每边就多出4个模块。QR码有较强的数据容错能力,使用Reed—Solomon码进行查错控制。根据需要,可设置L、M、Q、H四个纠错等级,分别可恢复传输或识读出错的7%、15%、25%、30%的码字信息。详见文献[3]3-10,[4]93-95。QR码的基本特点:①识读速度超高;②全方位读取;③能够有效编码中国汉字和日本汉字。《计算机视觉》指导教师:梁栋3图1QR码的符号结构2.2DataMatrix的简介[4]DataMatrix二维码(DM码)是由美国国际资料公司于1989年发明的,DM是矩阵式二维条码,其发展的初衷是在较小的标签上嵌入更多的资料信息。DM的最小尺寸是目前条码中最小的,尤其适用于小零件的标识,直接印刷在实体上。DM分为ECC000—ECC140和ECC200两种类型,ECC000—ECC140具有多种不同等级的错误纠错功能,而ECC200则通过Reed-Solomon纠错算法产生多项式计算出错误纠错码,不同尺寸的ECC200符号应有不同数量的错误纠错词。由于DM只需读取资料的20%即可精确辨认,因此很适合在条码容易受损的场合,例如在暴露于高热、化学剂清洗、机械腐蚀等特殊环境的零件上。DM码最大特点就是存储效率高,因此被广泛应用于标示集成电路、药品等小件物品。如图2所示,DM码看起来像是一个由黑白两种颜色组成的点阵组合,每一个相同大小的黑色或白色方格成为一个数据单位。矩阵中的1、0就是DM的黑白两色小方格,及数据单位。图2DM码示例《基于图像处理的二维码识别技术的基本研究》作者:丁真真4每个DM码符号由规则排列的房型模组组成,如图3所示。其中,(a)是一个完整的DM码;(b)是DM码寻边区L型实心边界;(c)是DM码寻边区的反L型虚线边框;(d)是数据区,包含被编码的有用信息;(e)是结构链接情况下的DM码。DM码看起来像一个由深浅颜色组成的国际象棋棋盘,每一个相同大小的黑色或白色方格,分别对应于二进位0或1,被称为数据单位。DM符号就是由许多这样的数据单位组成。在寻边区外层有宽度为一个数据单位的静区,静止区的主要作用为将二维条码与其他的背景信息隔离。寻边区是“棋盘”的边界,包括L型的实心边界和反L型的虚线边界,只用于定位和定义数据单位大小,而不含有任何编码信息。被寻边区包围的数据区则包含着编码信息,是对待编码的符号,包括数字、字母和汉字等按照一定的编码规则生成的。值得指出的是;寻边区是DM的边界,主要用于限定DM码的物理尺寸,定位和符号失真。反L型的虚线边界同样主要用于限定符号的单元结构,但也能帮助确定物理尺寸及失真。图(e)是结构链接的DM码,中间一个黑白交替的十字形称为铁路线,在取样时需要利用它以提高识别率。图3DM的符号结构3.图像预处理二维码的识别是通过将采集到的图像通过数学和图像的方法,尽可能地将其中所容纳的信息恢复出来的过程,但无论是从什么仪器所采集的图像都不可避免地会和原图像有所差异。如果图像采集过程中存在各种噪声、模糊、光照不均、畸变,甚至是图像部分区域的沾污,在识别之前都需要进行图像的预处理,才能尽可能保证条码的读取顺利。《计算机视觉》指导教师:梁栋5二维码的预处理包括:图像的灰度化、图像的增强、图像滤波处理、光照不均处理、二值化、边缘检测、图像的定位、图像校正和畸变校正等。下面就以上图像处理的现有方法进行总结和比较。3.1图像灰度化一般情况下,由智能手机或相机的摄像头采集到的图像信息通常是彩色图像,以常见的RGB格式彩色图像数据来看,每个像素点是由Red、Green、Blue三种颜色的数据信息描述。但在二维码的解码中只需要正确描述出条状区域和空白区域即可,所以进行灰度化的处理,是为了将影响不大的色彩信息去掉,不仅可以降低存储空间,还可以增加解码的速度。灰度化的主要方法有[5]:最大值法:在像素点的三个色彩分量信息中,选出数值最大的一项作为该像素点的最大值。这种方法得到的灰度图像亮度将会比较大。平均值法:将像素点三个色彩分量信息相加求出平均值,将该平均值视为灰度值。这种方法得到灰度图像比较柔和但会丢失部分图像边缘信息。加权平均法:将像素点三个色彩分量信息按照一定的权重相加求出平均值,该平均值被作为像素点的灰度值。其转换公式如下:=0.2990.5870.114WRGB(1)这种方法得到的图像效果最好,几乎所有的灰度化过程都采用这样的方法。(a)彩色图像(b)灰度化图像图4二维码灰度图像效果图3.2图像滤波由于CMOS或CCD摄像头的光学或电学特性,在图像采集过程中不可避免地会采集到噪声,这些噪声一般为椒盐噪声或斑点噪声,在二值化等进一步操作之前,需要将噪声除去。常用的滤波方法分为线性滤波和非线性滤波[5]。线性滤波是指利用一定的变换关系《基于图像处理的二维码识别技术的基本研究》作者:丁真真6对图像中每个像素点的灰度值做变换,线性算子的计算方式不同,线性滤波的算法也就不同。非线性滤波多采用取绝对值、置零或分区域变换等非线性的方法。通过分析采集到的二维码图像可知其引出的噪声一般为高斯噪声,利用低通线性滤波可以对其进行很好地去除,但缺点是可能会使边缘信息变得模糊,这对之后的二值化操作具有很大的影响,会因为边缘模糊将原本白色空白间隔的区域二值化为黑色条状区域,直接导致“1”和“0”的误判,在解码过程中有非常大的可能是最终结果出错。而非线性低通滤波方法——中值滤波可以很好地避开这点,中值滤波是将待处理的像素点以及以其为中心的小窗口内的像素点的灰度值按照大小进行排列,取中间值代替需要处理像素点的灰度值。中值滤波的数学表达式如下:,{(,)}NWxyMedfxy(2)优点是:中值滤波对椒盐噪声、斑点噪声去除效果非常好,且由于其处理算法的特殊性使得图像中的阶跃序列和周期序列不会被滤除,很好地保存了二维码的边缘信息。缺点是:虽然方法简单易实现,但有时会失掉图像中的细线和小块的目标区域。对于中值滤波,一般采用5*5的窗口进行滤波,效果图如图5所示:图5中值滤波效果图3.3光照均衡化由于二维码特点和摄像头等相关缺点知,光照均衡化在二维码前期处理当中起到至关重要的作用。非均衡化的光照很容易使二值化过程产生误差,将本来是白色空白区域的位置二值化为合适条状区域,从而影响解码正确率。目前已有很多学者提出各种光照均衡算法[5],如直方图修正法,Retinex增强,童泰滤波,对数变化和梯度增强等,但是这些算法普遍存在计算时间长,运用大量对数运算,丢失图像边缘细节等问题。随着数学形态学的发展,诞生出许多基于数学形态学的去光照算法。《计算机视觉》指导教师:梁栋7Jimenez-Sanchez等提出的不均匀光照校正算法[8],Chen研究出的基于数学形态学的光照均衡方法。这些方法优点:能够获得很好地效果。缺点是:当分块较大的时候,处理后的图像块效应会分成明显。针对此缺点,Xu提出利用大尺度的结构元素对原始图像进行白TOP-HAP变换来去除光照影响[9-10],优点是:实现起来较简单,大多数情况下的处理效果令人满意。缺点是:因为仅仅使用单一的结构元素,所以对复杂光照处理效果欠佳。张萌提出利用数学形态学实现的基于多结构元素的不均衡光照校正算法,其核心思想即:选用大尺度的多结构元素对图像进行白TOP-HAP变换,之后利用熵理论对图像进行融合,得到最总图像。优点:与传统算法相比较,算法过程简单,无复杂数学运算,充分保留图像细节,去光照效果好,实验对比如图6。(a)原图像(b)去光照后的图像图6去光照处理效果图3.4图像的二值化由于二值图像易得到图像的特征信息,所以滤波后的图像都要进行二值化。所谓二值化就是把灰度图像经过一定的变换关系转化为只有黑色和白色两种颜色的图像信息。在二值化的过程中最重要的就是阈值的选择,阈值是指选取一个灰度值,将小于灰度值的像素置为最小灰度即黑色,大于灰度值的像素置为最大灰度值即白色。根据二值化中对阈值的选取方法不同,二值化算法主要全局选取阈值法和局部区域选取阈值法和动态阈值法[11]。全局阈值分割方法是指在二值化的过程中只使用一个固定阈值的方法,此法对于质量较好的图像有效。包含的方法有:方差阈值分割法、最大熵法、模糊阈值分割法、共生矩阵分割法、区域生长法等。优点是:应用广泛,算法简单,对于对比度较高、照度均匀、无阴影的图像,能够达到很好地分割效果。缺点是抗噪能力不强,
本文标题:基于图像预处理的二维码识别技术的研究
链接地址:https://www.777doc.com/doc-2536270 .html