360一键装机-xp升级win7

识别二维码
2023年4月4日发(作者:设备管理器打不开)

-

.z

1.什么是二维条形码:

条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排

列,用以表达一组信息的图形标识符。

一维条码是由一组粗细不同、黑白(或彩色)相间的条、空及其相应的字符(数

字字母)组成的标记,即传统条码。如下列图所示

二维条码是用*种特定的几何图形按一定规律在平面(二维方向)上分布的条、

空相间的图形来记录数据符号信息。如下列图所示

1.1条形码的分类

(1)行排式二维条码〔2DSTACKEDBARCODE〕又称:堆积式二维条码或层排

式二维条码,其编码原理是建立在一维条码根底之上,按需要堆积成二行或多行。

有代表性的行排式二维条码有:PDF417、CODE49、CODE16K等。如下列图所

(2)矩阵式二维条码〔2DMATRI*BARCODE〕又称:棋盘式二维条码。有代

表性的矩阵式二维条码有:QRCode、DataMatri*、Ma*iCode、Codeone等。

1.2二维码与一维码的比拟

QR码

-

.z

条码类型信息密度与信

息容量

错误校验及

纠错能力

垂直方向

是否携带

信息

用途对数据库和

通信网络的

依赖

识别设备

一维码信息密度低,信

息容量少

可通过校验

字符进展错

误校验,没有

纠错能力

不携带信

物品的标

多数应用场

合对数据库

和通信网络

形成依赖

可用线扫描器识

读,如光笔、线阵

CCD、激光枪等

二维码信息密度高,信

息容量大

具有错误校

验和纠错能

力,可根据需

求设置不同

的纠错级别

携带信息对物品的

描述

可不依赖数

据库及通讯

网络而单独

应用

对于行排式二维

条码可用线扫描

器的屡次扫描识

读;对于矩阵式二

维条码仅能用图

像扫描器识读

2.二维码识别的原理〔以QR码为例〕:

2.1QR码简介

QR码是快速识别矩阵码(quickresponsecode)的简称,最早由日本Denso

公司在1994年9月推出,我国于2000年底公布了QR码的国家标准。QR码符

号呈正方形,由空白区、功能图形区、数据图形区组成。功能图形区又分为位置

探测图形、校正图形、格式信息、版本信息、定位图形等不同图形格式,如下列

图所示。各局部图形都由深色模块(代表二进制1)或浅色模块(代表二进制0)

组成,位置清晰,功能性强,有利于进展图像处理和识别。根据编码数据量的多

少,QR码可以分为40个版本,版本1符号大小为21×21模块。从版本1到

版本40,符号容量越来越大,相应的图像所占打印面积也随之增大,每增大一个

版本,符号图像的每边就增加4个模块。QR码有较强的数据容错能力,使用Reed

-Solomon码进展过失控制。根据需要,可以设定L、M、Q、H四个纠错等级,

-

.z

分别可恢复传输或识读出错的约7%、15%、25%、30%的码字信息。

1.位置探测图形、位置探测图形分隔符:用于对二维码的定位,对每个QR码

来说,位置都是固定存在的,只是大小规格会有所差异;这些黑白间隔的矩形块

很容易进展图像处理的检测。

2.校正图形:根据尺寸的不同,矫正图形的个数也不同。矫正图形主要用于QR

码形状的矫正,尤其是当QR码印刷在不平坦的面上,或者拍照时候发生畸变等。

3.定位图形:这些小的黑白相间的格子就好似坐标轴,在二维码上定义了网格。

4.格式信息:表示该二维码的纠错级别,分为L、M、Q、H;

5.数据区域:使用黑白的二进制网格编码内容。8个格子可以编码一个字节。

6.版本信息:即二维码的规格,QR码符号共有40种规格的矩阵〔一般为黑白

色〕,从21*21〔版本1〕,到177*177〔版本40〕,每一版本符号比前一版本每

边增加4个模块。

7.纠错码字:用于修正二维码损坏带来的错误。

2.2QR二维码的识别原理

定位

手机拍摄QR码图像时,可能会同时采集到条码周围其他的图像。这些干扰

图像会增加图像处理的复杂度,因此,可以把这些没必要的干扰图像通过裁切的

方式去除。校正后,直接对正方形A'B'C'D'外的区域裁切,就可以去除其余背景。

QR码符号中有3个位置探测图形,分别位于符号图像4个角中的3个角,每个

位置探测图像都是由固定深浅颜色的模块组成。模块深浅颜色顺序为深色—浅色

—深色—浅色—深色,各元素宽度的比例为1∶1∶3∶1∶1〔如下列图所

示〕。即使图像有旋转,位置探测图像的模块颜色顺序和宽度比例也不变。对二

-

.z

值化后的图像按行、列分别逐点扫描,把同一灰度级的相邻像素记录为线段。如

果有5段线段的长度比例符合1∶1∶3∶1∶1,且深浅颜色顺序为深—浅

—深—浅—深,则记录该线段。扫描完后,把行相邻的线段分为1组,去除与所

有线段都不相邻的行线段(可能是随机的干扰线段)。同样处理列线段,把行线

段组和列线段组中相互穿插的组分类,求出穿插的行、列线段组的中心点,即为

位置探测图形的中心。

预处理

根本原理:QR码作为手机二维码,其应用模式如下列图所示。手机等智能

设备通过摄像头采集带有条码符号的图像,对图像进展灰度化、二值化、旋转校

正等预处理,进展条码检测。如果检测到非QR码,则重新采集;如果是QR码,

则进展图像信息的取样。用Reed-Solomon码的译码算法对取到的数据进展

纠错译码,统计出现的错误数量。如果错误数量超出纠错容量,则纠错译码失败,

重新采集图像;如果可以正确进展纠错译码,则把纠错后的信息进展各种数据模

式下的译码,恢复出编码信息,继而根据应用模式进展信息输出、发送短信或网

址跳转等后续处理。

.1灰度化

智能设备通过摄像头采集到的图像一般是彩色图像。因为QR码携带的信息

只需深浅两色即可表征,所以可以把彩色图转换为灰度图,继而转换为二值图像

来处理,灰度化和二值化后可以显著降低图像处理的复杂度。摄像头采集到的彩

色图像,一般是在RGB空间编码的。每个像素分别用1个字节表示R、G、B三

原色。如果把RGB空间转换为YUV色彩空间,则Y分量刚好表示像素的亮度,

可以作为灰度值。转换公式为

-

.z

转换时,不必计算U和V两个分量的值,只需按照Y=0.299R+0.587G+0.

114B(2)计算每个像素对应的灰度值,存储为1个字节(即256灰度级)即可。

.2二值化

在用手机摄像头采集图像时,由于拍摄条件不同,环境光源的干扰较多,采

集的图像经过灰度化后光线往往是不均衡的,如图(a)所示。如果直接对其进展

二值化,使用单一阈值,则会把灰色的背景区域处理成为黑色前景,掩盖了条码

符号的信息。图(b)所示为使用单阈值算法生成自动阈值进展二值化的结果。可

见,用这种方法二值化的图像难以恢复条码信息。对照该图像的直方图可见,直

方图信息明显分为3个波峰:第1个波峰对应黑色的条码模块;第2个波峰对应灰

色背景;第3个波峰对应白色模块和空白区域。为此,考虑对图像进展分块,应

用改良的Niblack局部阈值化算法,分别进展二值化[3-4]。图像的直方图

如图(c)所示,明显具有3峰构造。按照直方图计算3峰的区间,按区间边界的

灰度值对图像进展分区。对每个区域分别二值化,再叠加,得到全局的二值化图

像,如图(d)所示。可见,多阈值进展的二值化效果明显高于单一阈值,可以有

效去除光线不均的影响。为增强算法的适应性,防止对光线均衡图像处理的复杂

化,可按照以下步骤分类进展:

1)计算并考察输入图像的直方图,如果直方图呈现明显的双峰构造,说明该图

像的光线均衡,直接用直方图双峰法计算全局阈值,对图像进展二值化;

2)如果图像直方图呈现单峰或弱双峰构造,说明图像偏亮或偏暗,可使用Otsu

算法计算全局阈值进展二值化;

3)如果图像直方图具有明显的3峰构造,说明图像光照不均,可对图像进展分

块,使用改良的Niblack多阈值方法二值化图像。

-

.z

注释:灰度级直方图是灰度级的函数,描述图像中具有该灰度级像素的个数。如:

.3旋转处理

因为手机摄像头拍

摄时物距较短,存在较明显的透视现象,所以拍出来的

条码图像常常出现几何失真。QR码图像本应是一个正

方形,拍摄的图像却畸变成一个不规则的四边形。出现几何失真的QR码图像,

很难通过解码算法译出编码信息,必须进展校正。利用二维图像的投影变换,可

以对失真图形进展校正。对手机拍摄的图像进展Hough变换,求出条码的4条边

界限。由边界限求出A、S、C、D四个交点,如下列图所示。

设P为拍摄图像中任意一点,用齐次坐标表示为(*,y,1)'。在校正图像中

存在唯一的一点P'与P对应,其齐次坐标设为(*h,yh,h)',则存在投影变换矩

阵T,满足P'=TP,即

把'的齐次坐标转换为普通坐标,有

其中t22为比例因子,可取为1。将图4中A、S、C、D四个顶点坐标以及对应的

校正图中的A'、S'、C'、D'分别代入式(4)、式(5),可得8个方程,解出矩阵T

中的8个未知数[5]。对拍摄图中的各像素,用式(3)计算得到校正值的坐标,

再利用双线性插值方法进展插值,可直接得到旋转到水平方向的校正图,不需要

再进展旋转校正。校正效果如下列图所示。

注释:在对图像进展校正处理的时候也可以使用仿射变换。

仿射变换:又称仿射映射,是指在几何中,一个向量空间进展一次线性变换并接上一个平移,变换为另一

个向量空间。包括:平移〔Translation〕、缩放〔Scale〕、翻转〔Flip〕、旋转〔Rotation〕和错切〔Shear〕。

纠错与解码

在译码之前通常需要对二维码进展分割,边缘检测后条码区域的边界不是很

0123

0012

0001

3210

灰度级

0123

像素数

7432

-

.z

完整,所以需要进一步的修正边界,然后分割出一个完整的条码区域。首先采用

区域增长的方法对符号进展分割,以此修正条码边界。其根本思想是从符号内的

一个小区域〔种子〕开场,通过区域增长来修正条码边界,把符号内的所有点都

包括在这个边界内。然后通过凸壳计算准确分割出整个符号。之后区域增长和凸

壳计算交替进展,通常对那些密度比拟大的条码重复两次就足够了,而对于那些

模块组合比拟稀疏的条码至少要重复四次,下面我们主要来进展译码的研究。

把网格采样出的信息组成信息矩阵,按照6个步骤进展纠错和译码。

1)格式信息译码。按照QR码符号排列规则,取出水平方向上的15位格式信息,

与0*5412进展按位异或(*OR)操作去除掩膜;用BCH译码算法对格式信息

BCH(15,5)译码。如无法正确译码,则取出竖直方向上的15位格式信息进展

同样操作。假设2个方向上的格式信息都无法正确译码,则无法继续识读,系统

退出;假设可以正确译码,则可得到纠错等级和掩膜图形信息。

2)版本信息译码。版本7~40的条码符号均含有版本信息。根据符号模块数

量估算版本大小,如果版本在7~40之间,则进展版本信息的译码。按照QR码

符号排列规则,取出右上角的18位版本信息,用BCH译码算法对版本信息

BCH(18,6)译码。如果无法正确译码,则取出左下角的18位版本信息进展同

样操作。假设2个区域的版本信息均无法正确译码,则无法继续识读,系统退出;

假设可以正确译码,则可得到符号的版本。

3)去除符号掩膜。用步骤1)得到的掩膜图形信息对符号进展异或(*OR)操作,

去除掩膜。

4)重组数据码字。按照QR码的码字排列规则,对采样矩阵中的信息重新组合,

得到数据码字和纠错码字。

-

.z

5)纠错译码。用步骤1)、2)得到的版本和纠错等级信息,查表得到所使用的

RS码类别,用迭代译码算法对该RS码译码[6]。假设错误数量超出纠错容量,

则无法继续识读,系统退出;假设可以正确译码,则可得到正确的数据码字。

6)数据译码。把数据码字按照编码规则生成信息位流,按照位流中的模式指示

符和字符计数指示符把位流分段,每段分别按照所用模式的规则译码,得到原始

编码数据。

3.二维码技术的应用:

二维条码具有储存量大、**性高、追踪性高、抗损性强、备援性大、本钱廉

价等特性,这些特性特别适用于表单、平安**、追踪、证照、存货盘点、资料备

援等方面。

1〕表单应用

公文表单、商业表单、进出口报单、舱单等资料之传送交换,减少人工重覆输

入表单资料,防止人为错误,降低人力本钱

2〕**应用

商业情报、经济情报、政治情报、军事情报、私人情报等**资料之加密及传递。

3〕追踪应用

公文自动追踪、生产线零件自动追踪、客户效劳自动追踪、邮购运送自动追踪、

维修记录自动追踪、危险物品自动追踪、后勤补给自动追踪、医疗体检自动追踪、

生态研究(动物、鸟类...)自动追踪等。

4〕证照应用

护照、**、挂号证、驾照、会员证、识别证、连锁店会员证等证照之资料登记

及自动输入,发挥「随到随读」、「立即取用」的资讯管理效果。

-

.z

5〕盘点应用

物流中心、仓储中心、联勤中心之货品及固定资产之自动盘点,发挥「立即盘

点、立即决策」的效果。

备援应用

文件表单的资料假设不愿或不能以磁碟、光碟等电子媒体储存备援时,可利用

二维条码来储存备援,携带方便,不怕折叠,保存时间长,又可影印,做更

多备份。网络资源下载可以应用到网上的资源下载,比方电子书,游戏,应

用软件等等。

更多推荐

识别二维码