360一键装机-xp升级win7
![识别二维码](/uploads/image/0290.jpg)
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〕盘点应用
物流中心、仓储中心、联勤中心之货品及固定资产之自动盘点,发挥「立即盘
点、立即决策」的效果。
备援应用
文件表单的资料假设不愿或不能以磁碟、光碟等电子媒体储存备援时,可利用
二维条码来储存备援,携带方便,不怕折叠,保存时间长,又可影印,做更
多备份。网络资源下载可以应用到网上的资源下载,比方电子书,游戏,应
用软件等等。
更多推荐
识别二维码
发布评论