美文网首页我爱编程
QR码设计(5)之mask

QR码设计(5)之mask

作者: 只看你一眼 | 来源:发表于2017-05-13 17:27 被阅读0次

    转载请注明出处


    1.1掩膜版的种类

    QR码的掩膜版一共8种。他是在数据字和纠错字都在矩阵中填充完后,选择掩膜版类型与消息字(数据字和纠错字)XOR后的出的矩阵即为最终的QR码所展现的图案。

    图1.1展示的是掩膜图案生成的条件

    下面图形是对应的Mask Pattern。

    Mask0(000) Mask1(001) Mask2(010) Mask3(011) Mask4(100) Mask5(101) Mask6(110) Mask7(111)

    1.2�最佳Mask的选取

    对于QR code的掩膜版(mask)一共有8种。在实际运用中如何从这8种掩膜版中给自己设计的二维码选择最佳的mask呢?(先将这8中掩膜版与二维码矩阵数据异或,然后再根据以下四点去选择)

    其实对于mask的选取应当遵守以下四点。这四点也是官方评估一个二维码图案的标准。原文来源于此处

    1.逐一检查每一行,在一行中连续5颜色相同的模块,加3,连续相同颜色模块超过5个以上,每增加一个,就加1。然后将每行中计算的数值加在一起,即为评判标准1的值。Eg1.

    Eg1

    2.在二维码图像上寻找模块颜色相同的区域(最小为2×2的区域),然后代入公式3×(m-1)×(n-1)(这是一个m×n区域),将所有满足的区域代入公式所得的值全部相加起来。,即为评判标准2的值。Eg2.

    Eg2

    3.寻找图案中dark-light-dark-dark-dark-light-dark-light-light-light-light图案(行/列都要计数),如图1-1所示样式的两种图案,没找出一个图案,加40。即为评判标准3的值。Eg3.

    图1-1

    4.该评判标准是light与dark的比率。Eg4.

    ①计算二维码矩阵中的模块总数(totalmodules)

    ②计算矩阵中dark的数目(darkmodules)。

    ③计算矩阵中dark的模块的百分比:

    (darkmodules/ totalmodules)* 100

    ④确定百分之五的前一个和下一个倍数。例如,43%,前一个百分之五的五倍是40%,而后一个百分之五的倍数是45%。

    ⑤从这百分之五的倍数中减去50,并取结果的绝对值。例如| 40 - 50 | = | -10 | = 10和| 45 - 50 | = | -5 | = 5。

    ⑥将上一步的值分别除以五。例如,10/5 = 2和5/5 = 1。

    ⑦最后,取上一步中最小的数字乘以10,即为评判标准4的值。在此示例中,较小的数字为1,因此结果为10.这是评判标准4(#4)的值。

    另一个例子,在下图中,模块总数为441,暗模块总数为235。

    Eg4

    黑暗模块的百分比是(235/441)* 100≈53.2879

    ��以前的五分之一是50,五的下一个五分之一是55。

    减去50,取绝对值:

    | 50 - 50 | =0 

    | 55 - 50 | = 0

    将每一个除以五:

    0/5 = 0

    5/5 = 1

    这两个数字中的最小值为0.乘以10,这仍然为0.因此,在本例中惩罚分数#4为0。

    附录

    图1-2 HELLO WORLD的8种QR Code,最佳选择可为350/357

    QR码的掩膜版一共8种。他是在数据字和纠错字都在矩阵中填充完后,选择掩膜版类型与消息字(数据字和纠错字)XOR后的出的矩阵即为最终的QR码所展现的图案。

    ��� �c҈z

    相关文章

      网友评论

        本文标题:QR码设计(5)之mask

        本文链接:https://www.haomeiwen.com/subject/zanxxxtx.html