基于图像预处理的二维码识别技术的研究 下载本文

内容发布更新时间 : 2024/12/25 17:05:33星期一 下面是文章的全部内容请认真阅读。

《计算机视觉》 指导教师:梁栋

基于图像预处理的二维码识别技术的研究

摘要:随着计算机科学技术的发展,自动识别技术得到了广泛的应用。在众多自动识别的技术中,条码技术已经成为当今主要的计算机自动识别技术之一。为解决条码信息容量有限的问题,九十年代以来出现一种新的条码——二维码。

二维码是指在平面二维方向上,使用某种特定的几何图形按一定规律分布的黑白相间的,用以记录信息的符号。在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。

二维码主要分为两大类:一是堆叠式是二维码,其主要代表是pdf417;二是矩阵式二维

码,主要包括QR码和Data Matrix码。在现代商业活动中,二维码以其低成本、快速识读、含有大量信息而广泛应用于各个行业,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等,人们通过手机二维码的扫描软件就可以轻松获得二维码中所储藏的信息。

对QR码进行识别需要使用采集设备采集的图像,但图像的采集过程中由于受到各种因

素(如光照不均匀、拍摄角度、二维码有褶皱等)的影响,可能导致二维码图像背景有各种噪声,收到的图像可能存在几何畸变或者图像有阴影,从而导致识读设备很难识读,给解码带来相当大的困难。因此,如何对收集到的图像进行适当的去噪和校正已成为二维码识别的关键问题。

本文主要针对异常QR码以及Data Matrix码的识别进行描述,先表明二维码识别要解

[1]

决的问题、任务和框架,并对现有方法进行阐述,最后讨论二维码识别技术仍需解决的问题,并展望看其未来研究方向。

1. 二维码识别的概念框架

随着二维码的广泛使用,二维码被广泛认知,当人们遇到二维码扫描失败的时候,对其

产生的影响也是巨大的,人们会怀疑是不是产品是假的,或者是有诈骗信息,但其主要问题可能是:

1) 二维码的扫描不够精确; 2) 不是真的二维码图形;

1

《基于图像处理的二维码识别技术的基本研究》 作者:丁真真

3) 更新的条码种类未被录用到扫描软件中; 4) 二维码图案被破坏,或没有处于理想状态下;

上述问题只是二维码不能识别的部分原因,就上述问题,还没有某一款软件或产品能够

同时解决上面所有的问题,由此,二维码的识别过程中所要完成的主要任务,即在用二维码软件扫描二维码时,先对其图案进行图像的预处理,使其符合各二维码的种类规范,然后再对其进行读取。

基于图像预处理的二维码识别的基本流程包括:图像灰度化、图像滤波、光照均衡化、

图像分割、图像二值化、边缘检测、图像定位、图形旋转,失真校正等。

本文主要总结针对二维码图形预处理的方法,以期能够提高二维码的识别度。

2. 二维码条码

2.1 QR码简介

QR码是快速识别矩阵码(quick response code)的简称,最早由日本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码的基本特点:

①识读速度超高; ②全方位读取;

③能够有效编码中国汉字和日本汉字。

2

《计算机视觉》 指导教师:梁栋

图 1 QR码的符号结构

2.2 Data Matrix的简介[4]

Data Matrix二维码(DM码)是由美国国际资料公司于1989年发明的,DM是矩阵式二维条码,其发展的初衷是在较小的标签上嵌入更多的资料信息。DM的最小尺寸是目前条码中最小的,尤其适用于小零件的标识,直接印刷在实体上。DM分为ECC000—ECC140和ECC200两种类型,ECC000—ECC140具有多种不同等级的错误纠错功能,而ECC200则通过Reed-Solomon纠错算法产生多项式计算出错误纠错码,不同尺寸的ECC200符号应有不同数量的错误纠错词。由于DM只需读取资料的20%即可精确辨认,因此很适合在条码容易受损的场合,例如在暴露于高热、化学剂清洗、机械腐蚀等特殊环境的零件上。

DM码最大特点就是存储效率高,因此被广泛应用于标示集成电路、药品等小件物品。如图2所示,DM码看起来像是一个由黑白两种颜色组成的点阵组合,每一个相同大小的黑色或白色方格成为一个数据单位。矩阵中的1、0就是DM的黑白两色小方格,及数据单位。

图2 DM码示例

3

《基于图像处理的二维码识别技术的基本研究》 作者:丁真真

每个DM码符号由规则排列的房型模组组成,如图3所示。其中,(a)是一个完整的DM码;(b)是DM码寻边区L型实心边界;(c)是DM码寻边区的反L型虚线边框;(d)是数据区,包含被编码的有用信息;(e)是结构链接情况下的DM码。DM码看起来像一个由深浅颜色组成的国际象棋棋盘,每一个相同大小的黑色或白色方格,分别对应于二进位0或1,被称为数据单位。DM符号就是由许多这样的数据单位组成。在寻边区外层有宽度为一个数据单位的静区,静止区的主要作用为将二维条码与其他的背景信息隔离。寻边区是“棋盘”的边界,包括L型的实心边界和反L型的虚线边界,只用于定位和定义数据单位大小,而不含有任何编码信息。被寻边区包围的数据区则包含着编码信息,是对待编码的符号,包括数字、字母和汉字等按照一定的编码规则生成的。

值得指出的是;寻边区是DM的边界,主要用于限定DM码的物理尺寸,定位和符号失真。反L型的虚线边界同样主要用于限定符号的单元结构,但也能帮助确定物理尺寸及失真。图(e)是结构链接的DM码,中间一个黑白交替的十字形称为铁路线,在取样时需要利用它以提高识别率。

图3 DM的符号结构

3. 图像预处理

二维码的识别是通过将采集到的图像通过数学和图像的方法,尽可能地将其中所容纳的信息恢复出来的过程,但无论是从什么仪器所采集的图像都不可避免地会和原图像有所差异。如果图像采集过程中存在各种噪声、模糊、光照不均、畸变,甚至是图像部分区域的沾污,在识别之前都需要进行图像的预处理,才能尽可能保证条码的读取顺利。

4

《计算机视觉》 指导教师:梁栋

二维码的预处理包括:图像的灰度化、图像的增强、图像滤波处理、光照不均处理、二值化、边缘检测、图像的定位、图像校正和畸变校正等。下面就以上图像处理的现有方法进行总结和比较。

3.1 图像灰度化

一般情况下,由智能手机或相机的摄像头采集到的图像信息通常是彩色图像,以常见的RGB格式彩色图像数据来看,每个像素点是由Red、Green、 Blue三种颜色的数据信息描述。但在二维码的解码中只需要正确描述出 条状区域和空白区域即可,所以进行灰度化的处理,是为了将影响不大的色彩信息去掉,不仅可以降低存储空间,还可以增加解码的速度。

灰度化的主要方法有[5]:

最大值法:在像素点的三个色彩分量信息中,选出数值最大的一项作为该像素点的最大值。这种方法得到的灰度图像亮度将会比较大。

平均值法:将像素点三个色彩分量信息相加求出平均值,将该平均值视为灰度值。这种方法得到灰度图像比较柔和但会丢失部分图像边缘信息。

加权平均法:将像素点三个色彩分量信息按照一定的权重相加求出平均值,该平均值被作为像素点的灰度值。其转换公式如下:

W=0.299R?0.587G?0.114B (1)

这种方法得到的图像效果最好,几乎所有的灰度化过程都采用这样的方法。

(a)彩色图像 (b)灰度化图像

图4 二维码灰度图像效果图

3.2 图像滤波

由于CMOS或CCD摄像头的光学或电学特性,在图像采集过程中不可避免地会采集到噪声,这些噪声一般为椒盐噪声或斑点噪声,在二值化等进一步操作之前,需要将噪声除去。

常用的滤波方法分为线性滤波和非线性滤波[5]。线性滤波是指利用一定的变换关系

5