二维码的图案原理解析

      随着苹果手机的研发及安卓系统的市场铺张式的发展,使得二维码,这个不起眼的黑白相间的小方块,正在悄然改变着我们的生活方式。

  当你频繁和它照面的时候,你有没有过这样的好奇:为什么用手机扫一下就会看到一个“花花世界”?二维码的颜色为什么是黑白相间的呢?这些不规则几何图形中究竟藏着怎样的“秘密”?

二维码的图案原理解析

  示意图

  常见的二维码上为啥三个角上有方块

  这是三个定位点,图形旋转也不影响识别

  要了解二维码的原理,我们先要来好好认识一下它。现在最常见的二维码是OR二维码(OR是一种码制),我们便以它为例。

  我们看一个二维码,最先看到的当然是几何图形。这些图形中,藏了不少重要的“部件”。偶然物联网商城邀请南京邮电大学计算机学院副教授黄海平给我们做了详细分析。

  首先,OR二维码的三个“角”上有三个方块,可别小瞧这方块,它叫位置探测图形。有了这三个点,不管是从哪个方向读取二维码,信息都可以被识别。即使将二维码图形旋转,也可以识别。也许你会问,为什么不是四个角上都有方块呢?事实上,是可以设更多的点,但几何知识告诉我们,3点就可以确定一个平面,节省出的一个角可以嵌入更多信息。

  另外,二维码上还有一些图形混杂在几何图形中,是肉眼看不出来的,比如定位图形和分隔符。定位图形就是图中连接三个位置探测图形之间的两根“线”,它的作用是决定二维码符号中模块的坐标,而分隔符的作用是将位置探测图形与符号的其余部分分开。也就是说,通过扫描能读取的数据信息在二维码中的位置是由定位图形和分隔符决定的。

  还有两个图形肉眼也难以发现,位于左下角位置探测图形上面的是“版本信息”,每个二维码都有一个版本号,我们常说的V1.0、V2.0就是版本;包围在三个位置探测图形周边的则是“格式信息”,这指的是这个二维码采用的编码格式。[page]

  二维码为什么是黑白相间的

  黑色表示二进制的“1”,白色表示二进制的“0”

  “我们之所以对二维码进行扫描能读出那么多信息,就是因为这些信息被编入了二维码之中。”黄海平说,“制作二维码输入的信息可以分成三类,文本信息,比如名片信息;字符信息,比如网址、电话号码;还有图片信息,甚至还可以包括简短的视频。”

  数据信息是怎么被编入的呢?信息输入后,首先要选择一种信息编码的码制。现在常见的二维码都是以QR码作为编码的码制。

  QR码是矩阵式二维码,它是在一个矩形空间内,通过黑、白像素在矩阵中的不同分布,来进行编码的。我们知道电脑使用二进制(0和1)数来贮存和处理数据,而在二维码中,用黑白矩形表示二进制数据我们肉眼能看到的黑色表示的是二进制“1”,白色表示二进制的“0”,黑白的排列组合确定了矩阵式二维条码的内容,以便于计算机对二维码符号进行编码和分析。