锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / 二维码解析
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850

手机:138-0381-0136

Q Q:396806883
微信:ryysoft

锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究


二维码解析

二维码分为:堆叠式二维码和矩阵式二维码,这里我们主要熟悉一下常见的矩阵式二维码QR码。二维码可以分为功能区域和编码区域两个部分,这里主要熟悉的是二维码编码过程。编码由标识头部、数据区和纠错区组成。头部决定编码方式。

数据编码

QR提供了很多的编码方式,每一个编码方式都有其独有的id进行标识,这些标识会记录在数据区的前端,使得解码器可以根据二维码使用的编码方式对数据进行解码,如下图:

编码方式

纠错码:二维码存在4个级别的纠错等级,每个纠错级别可修正的错误与标识见图6,纠错级别越高,可以修正的错误就越多,需要的纠错码的数量也变多,相应的可储存的数据就会减少,版本1的二维码在L级别下可储存25个字符,在H级别下只能储存10个字符。

纠错比例

下面01234567在版本1模式下用数字编码(Numeric),选择的纠错级别是M的示例,采用Numeric Mode编码时,每三个数字需要10个bits进行标示。

纠错级别

012 ->0000001100

345 ->0101011001

67 ->1000011

组合起来为

0000001100 0101011001 1000011

指示

在数据的头尾加上一些标准要求的信息

编码格式      =0001

数字个数 (8) = 0000001000

终止符         =0000

组合起来为

0000001100 0101011001 1000011->

0001 0000001000 0000001100 0101011001 1000011 0000

按8bit一组重新排列,末尾不足的补零

0001 0000001000 0000001100 0101011001 1000011 0000->

00010000 00100000 00001100 01010110 01100001 10000000

不足最大bit的添加补齐码(11101100 00010001),版本1 M下需要128bits

00010000 00100000 00001100 01010110 01100001

10000000->

00010000 00100000 00001100 01010110 01100001

10000000 11101100 00010001 11101100 00010001

11101100 00010001 11101100 00010001 11101100

00010001

第三步:添加纠错码

纠错码根据数据利用RS算法来进行计算,最终的结果如下:

00010000 00100000 00001100 01010110 01100001

10000000 11101100 00010001 11101100 00010001

11101100 00010001 11101100 00010001 11101100

00010001->

00010000 00100000 00001100 01010110 01100001

10000000 11101100 00010001 11101100 00010001

11101100 00010001 11101100 00010001 11101100

00010001 10100101 00100100 11010100 11000001

11101101 00110110 11000111 10000111 00101100

01010101

第四部:将最终数据编码按顺序放入二维码中:

填写最终编码,最终编码的填充方式:从左下角开始沿着红线填我们的各个bits,1是黑色,0是白色。如果遇到了上面的非数据区,则绕开或跳过。

区域说明

第五步:添加格式信息和进行掩码运算

掩码的目的是让图形更分散,在矩形区里看着稍微均匀,只对数据区操作。

我们还要做Masking操作,QR有8个 Mask可以使用,就是和上面生成的图做XOR操作。Mask只会和数据区进行XOR,不会影响功能区。

MASK

其Mask的标识码如下所示:(其中的i,j分别对应于上图的x,y)

掩码模式

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内