0%

QRcode

未来还有梦,我们一起开拓!

Compositions of QRcode

Finder Pattern 位置探测区(1)

每个二维码有3个这样的Finder Pattern,顾名思义,它们让解码软件识别QRcode并确定正确的方向。

Separators 分隔符(2)

白色的线,宽度是1个像素,使得Finder Pattern更容易被识别,并与Data区域分隔开。

Timing Pattern(3)

2种模式。水平和垂直。

由黑白像素交替组成,水平的放置在第6行;垂直的放置在第6列。

它们有助于确定符号密度、模块坐标和版本信息区域。

Alignment Pattern 对齐模块(4)

1x1黑像素,3x3白像素,5x5黑像素一圈包一圈形成。

版本2及以上的QRcode必须有对齐模块,对齐模块的数量取决于符号版本。

Format Information 格式信息(5)

存储QRcode纠错的level和选择的掩摸

将掩摸图形用于符号的编码区域,使得二维码图形中的深色和浅色(黑色和白色)区域能够比率最优的分布。

Data(6)

要传达的数据信息被转化成bit流,8个bit作为1个码字存储在数据区。

Error Correction(7)

纠错码信息被转化成bit流,8个bit作为1个码字存储在纠错码区域,最多可以纠错约30%。

Remainder Bits(8)

如果数据和纠错位不能被划分为可被整除的8位码字,则本节由空位组成。(很多别的论文都没有这个的讲解,暂时略过)

Procedure for the generation/encoding of a QR Code

1.Data Analysis

文本看作一串字符串被编码为01串

但是有很多编码方式,每种编码方式都是以最优化地把数据最短的01串,所以第一步:我们要分析数据,选择文本的最优编码模式,为下一步编码数据做铺垫。

2.Data Encoding

这一步的结果是一个01串,它被分割成8位长的数据码字。

被编码的数据开头必须有1个4位的01串,作为模式指示符

3.Error Correction Coding

按需要将数据分块,并根据纠错等级和分块的码字,产生纠错码

经典:Reed-Solomon error correction

4.Structure Final Message

构建最终的01串,2、3步得到的序列必须按照正确的顺序来排列。

对于大型的QRcode,数据和纠错码字以块的形式生成,这些块根据QRcode规格间隔排列。

5.Module Placement in Matrix

我们手里现在有排好的01串了,然后要以正确的顺序把它们放置在Matrix中。

6.Data Masking

二维码矩阵中的某些模式会使扫描仪很难正确读取。为了抵消这一问题,规范定义了8种掩膜,每一种模式都会根据特定的模式改变二维码。

7.Format and Version Information

在特定区域添加像素

Format Information:包含纠错码level和QRcode使用的掩膜

Version Information:包含QRcodeMatrix的大小,只能在大的QRcode里面使用。

Procedure for decoding a QR Code

1.Recognizing Modules

定位获取图像识别黑白块01串

2.Extra Format Information

解码Format Information:“撕掉”掩膜(该掩膜可以作为参考),并得到纠错码level

3.Determine Version Information

解码Version Information:提取Version信息

4.Release Masking

将Format Information里面得到的掩膜编码区域位

5.Restore Data and Error Correction Codewords

根据模型的放置规则,读取symbol characters恢复数据和纠错码。

6.Error Detection and Correction

纠错码检测:有错误修改

7.Decode Data Codewords

根据模式指示符和字符计数指示符,将数据码字分割成若干段,最后根据使用的编码模式进行对应的解码。

PaperReadings about SEC of QRcode

Base:

核心Idea

①share图像有意义

②像素无拓展

论文笔记

-------------本文结束感谢您的阅读-------------
请作者喝一杯蜜雪冰城吧!