[科普]随处可见的QR二维码到底藏有多少玄机?

“ 要说近年来改变我们日常生活最大的技术类产品,可能就是二维码了。火箭君最近忽然兴起,想要搞明白二维码到底是个怎么个东西。下面就写点笔记告诉大家我的发现吧~

一共40种QR二维码大小

同样的信息,其实可以有多种QR Code进行演绎。下面3个二维码的大小都不一样,但是如果你把他们扫描一下就会发现,这3个二维码所包含的信息,是一模一样的。

我们通常见的QR Code二维码一共有40个尺寸。最小的是21*21格,称为Version 1,然后以4格边长递增——

  • version1: 21*21

  • version2: 25*25

  • version3: 29*29

  • version40: 177*177

下面这张图解释了每一个QR Code二维码都会包含的内容部分啦 :

把二维码里有趣的区域给说一次

区域2: 位置探测图形

这个区域也是QR Code的标志性嘴脸。他用来识别二维码的位置,整个区域是7*7见方的小块,因为3个就可以标注出一个矩形,所以QR Code只需要3个位置探测图形就好了

区域4:定位图形 这个区域也是用来帮助定位的,因为QR Code可能变的很大,需要有一个黑白相间的条文格带来保证光学识别后的定位准确

区域5:校正图形 校正图形和位置探测图形很像,只是比他更小一点

QR Code标准规定,不同版本(还记得上面说的版本么?2121到177177大小,一共40个版本)的QR Code必须使用规定数量的校正图形。

大家数一数这个校正图形的数量就可以大概猜测出这是个什么版本的二维码了~ 区域7:版本信息 还记得version1 – version 40么?这个QR Code到底是什么版本的,就会存储在下图的黄色部分里。红色和黄色区域存储的内容是一模一样的哦~

区域8:数据 好了!在用完QR Code中一些预设的格子之后,剩下的QR Code空间就可以用来填入真正的内容啦!整个内容会用二进制的方式存储,黑色格子代表“1”白色格子代表“0”。填写的顺序大概是下面这个迷宫这样哦~

脑洞最后还要大一次

按理来说这么填完黑白格子,QR Code就可以完成了,可是你有没有想过: 为什么你从来没见过几乎是全白色或者几乎是全黑色的二维码? 因为如果一个二维码全是白色,将会非常不利于这个二维码被识别,纯白色的二维码会让图像识别系统无法精确的定位每一个小格子。因为毕竟完全没有参照系也是非常痛苦的。

因此呢,QR Code还被引进了掩码!!大致的意思是,好不容易做出来的二维码还要经过一次掩码(异或)运算。

大概的逻辑有点类似于:黑+黑=白,黑+白=黑,白+白=白,也就是颜色一样就为白,颜色不同就为黑

这样,就可以保证做出来的二维码总是杂乱有序的啦!