二维码原理及图解_二维码的工作原理是什么

二维码原理及图解_二维码的工作原理是什么二维码结构_二维码原理

1 二维码

二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一种编码方式。它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

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

简单来说,将数据通过特定的编码变成‘0’和‘1’数据串。 ‘0’和‘1’ 分别用黑(深)和白(浅)小方块替代,将黑白小方块按一定的规则顺序放在二维码中。当用户使用二维码读取器扫描时,通过相应的格式读取出黑白小方块并替换成相应的’0’和’1’串,再通过相应的编码转换成对应的数据内容,如商品编码,网站链接等。

2 二维码结构

2.1 二维码的结构图

二维码原理及图解_二维码的工作原理是什么

二维码原理及图解_二维码的工作原理是什么

2.2 功能图形(Function Patterns)

2.2.1 版本与大小

二维码共有40个版本,分别版本1,版本2,… ,版本40。如下图是一个版本1和版本2的大小示意图以及版本41的示意图。

版本1的大小是21*21,即21*21个小方块组成;版本2的大小是25*25;版本40的大小是177*177。

版本为b和大小为d*d的关系d=17+4*b,b={1,2,…,40}。

二维码原理及图解_二维码的工作原理是什么二维码原理及图解_二维码的工作原理是什么

 2.2.2 空白区(Quiet zone
空白区为环绕在符号四周的4个模块宽的区域,其反射率应与浅色模块相同。

2.2.3 寻像图形(Finder pattern)
寻像图形包括三个相同的位置探测图形(Position Detection Patterns),分别位于符号的左上角、右上角和左下角,如图所示。每个位置探测图形可以看作是由3个重叠的同心正方形组成,分别为7*7深(黑)色模块,5*5浅(白)色模块,3*3深色模块。位置探测图形的模块宽度比为1:1:3:1:1。符号中其他地方遇到类似图形的可能性极小,因此可以在迅速地识别可能的QR码符号。识别组成寻像图形的三个位置探测图形,可以明确地确定视场中符号的位置和方向。

二维码原理及图解_二维码的工作原理是什么

2.2.4 分隔符(Separators)
在每个位置探测图形和编码区域之间有宽度为1个模块的分隔符,全部由白色模块组成。

二维码原理及图解_二维码的工作原理是什么
2.2.5 定位图形(Timing Patterns)
水平和垂直定位图形分别为一个模块宽的一行和一列,由深色与浅色模块交替组成,其开始和结尾都是深色模块。水平定位图形位于符号上部的两个位置探测图形之间,在第6行。垂直定位图形位于符号左侧的两个位置探测图形之间,在第6列。它们的作用是确定符号的密度和版本,提供决定模块坐标的基准位置。
2.2.6 校正图形(Alignment Patterns
每个校正图形可看作是3个重叠的同心正方形﹐由5×5个的深色模块,3×3个的浅色模块以及位于中心的一个深色模块组成。校正图形的数量视符号的版本号而定,版本2以上(含版本2)的符号均有校正图形。

2.3 编码区格式

2.3.1 版本信息(Version Information)
版本信息为18位,其中,6位数据位,12位通过BCH(18,6)编码计算出的纠错位。6位数据为版本信息,最高位为第1位。12位纠错信息在6位数据之后。

只有版本7~40 的符号包含版本信息,没有任何版本信息的结果全为0。所以不必对版本信息进行掩模。如图例子所示。
最终的版本信息应映射在符号中预留的位置。需要注意的是,由于版本信息的正确译码是整个符号正确译码的关键,因此版本信息在符号中出现两次以提供冗余。版本信息的最低位模块放在编号为0的位置上,最高位放在编号为17的位置上。

二维码原理及图解_二维码的工作原理是什么

 6行×3列模块组成的版本信息块放在定位图形的上面,其右侧紧临右上角位置探测图形的分隔符3行×6列模块组成的版本信息块放在定位图形的左侧,其下边紧临左下角位置探测图形的分隔符。

二维码原理及图解_二维码的工作原理是什么

2.3.2 格式信息(Format Information)
格式信息为15位,其中有5位数据位,10位用BCH(15,5)编码计算得到的纠错位。第1、2数据位是符号的纠错等级,见表13。格式信息数据的第3到第5位的内容为掩模图形,如下版本5-H的例子。按纠错位计算方法计算10位纠错数据,并加在5个数据位之后。
二维码原理及图解_二维码的工作原理是什么

二维码原理及图解_二维码的工作原理是什么

随后,将15位格式信息与掩模图形101010000010010进行XOR运算,以确保纠错等级和掩模图形参考合在一起的结果不全是0。

格式信息掩模后的结果应映射到符号中为其保留的区域内,如下图所示。需要注意的是,格式信息在符号中出现两次以提供冗余,因为它的正确译码对整个符号的译码至关重要。
二维码原理及图解_二维码的工作原理是什么

2.3.3 编码过程
a)数据分析
分析所输入的数据流,确定要进行编码的字符的类型。
b) 数据编码
采用所定义的规则,将数据字符转换为位流。
c) 纠错编码
按需要将码字序列分块,以便按块生成相应的纠错码字,并将其加入到相应的数据码字序列的后面。
d) 构造最终信息
在每一块中置入数据和纠错码字,必要时加剩余位。                                                                          e) 在矩阵中布置模块
将寻像图形、分隔符、定位图形、校正图形与码字模块一起放入矩阵。                                           f) 掩模
用8种掩模图形依次对符号的编码区域的位图进行掩模处理,评价所得到的8种结果,选择最优的一种。
g) 格式和版本信息
生成版本信息(如果需要)和格式信息,构成符号。

2.3.4 译码过程
从识读一个QR码符号到输出数据字符的译码步骤是编码程序的逆过程。

a)定位并获取符号图像。深色与浅色模块识别为由“0”与“1”组成的阵列。
b)识读格式信息(按需要去除掩模图形并完成对格式信息模块的纠错,识别纠错等级与掩模图形参考)。
c) 识读版本信息(如果应用),确定符号的版本。
d) 用掩模图形(掩模图形参考已经从格式信息中得出)对编码区域的位图进行异或处理,消除掩模。
e)根据模块排列规则,识读符号字符,恢复信息的数据与纠错码字。
f)用与纠错等级信息相对应的纠错码字检测错误,如果发现错误,则进行纠错。                            g)根据模式指示符和字符计数指示符将数据码字划分成多个部分。
h)最后﹐按照使用的模式进行译码,得出数据字符并输出结果。

需要细究的可参考标准。 

参考文献:

GB/T18284—2000 快速响应矩阵码
ISO/IEC 18004:2000 pdf                                                                                                                 知乎-二维码原理

3 二维码功能 

(1)信息获取(名片、地图、WIFI密码、资料)

(2)网站跳转(跳转到微博、手机网站、网站)

(3)广告推送(用户扫码,直接浏览商家推送的视频、音频广告)

(4)手机电商(用户扫码、手机直接购物下单)

(5)防伪溯源(用户扫码、即可查看生产地;同时后台可以获取最终消费地)

(6)优惠促销(用户扫码,下载电子优惠券,抽奖)

(7)会员管理(用户手机上获取电子会员信息、VIP服务)

(8)手机支付(扫描商品二维码,通过银行或第三方支付提供的手机端通道完成支付)

(9)账号登录(扫描二维码进行各个网站或软件的登录)

今天的文章二维码原理及图解_二维码的工作原理是什么分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/78867.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注