问题

QR 二维码在不影响扫码的情况下,哪些部分可以删除?

回答
要说二维码在不影响扫描的前提下,哪些地方可以“说拜拜”,这可得从二维码的“身体构造”说起。二维码,尤其是大家最常见的Data Matrix或QR Code,可不是一块简单的黑白像素图,它身体里藏着不少“秘密武器”,保证信息能被准确读取,哪怕有点小磕碰,也能认出自己的身份。

首先,最明显也最核心的部分,就是那几个“定位标记”。你肯定见过那几个标志性的、大小不一的方块,通常分布在二维码的三个角上(QR Code是三个,Data Matrix是两个)。这几个小方块就像是二维码的“眼睛”和“指南针”,它们告诉扫描设备,二维码的边缘在哪里,方向是哪个,甚至倾斜了多少度,它都能给你摆平了。没有它们,扫描器就像个近视眼,根本不知道从哪儿下手,更别说读懂里面的信息了。所以,这三个(或两个)“定位标记”是绝对的“核心成员”,缺一不可,更谈不上删减了。

然后,咱们再看看二维码的“身体”里,那些黑白相间的“数据区域”。这些区域里密密麻麻的,才是真正存储信息的“文字”。但是,二维码在生成信息的时候,可没那么“死心眼”,它会“加密”,而且还会“纠错”。这个“纠错”功能,就是它能“受伤”还能活下来的关键。

简单来说,二维码会加入一些“冗余信息”,就像给重要文件备份一样。这些冗余信息,或者说是“纠错码”,是根据你输入的信息计算出来的。当扫描设备读取二维码时,它会同时读取数据和这些纠错码。即使你的二维码沾了点灰、划了道浅痕,或者某个角落的小方块因为印刷问题没印好,数据本身可能就有点模糊不清了。这时候,“纠错码”就派上用场了,它能帮助扫描设备“猜测”出那些丢失或模糊的数据,就像侦探通过线索推理一样,最终把完整的信息拼凑回来。

所以,理论上,你可以删除一部分“数据区域”内的方块,只要这部分删除不会影响到“定位标记”以及足够多的“纠错码”能够发挥作用。这就好比你能抠掉一些“数据”上的小点,但不能抠掉太多,也不能抠掉关键的“校对”信息。

但是,这里有个很大的“但是”。你能不能抠掉哪些方块,以及能抠掉多少,这取决于二维码本身的“纠错级别”。二维码在生成时,可以设置不同的纠错级别,从低到高。级别越高,包含的冗余信息就越多,它能容忍的“损坏”程度也就越大。高纠错级别的二维码,就像一个穿了防弹衣的人,更能抵御“攻击”。

所以,如果你设置了很高的纠错级别,那么理论上,你可以删除的数据区域比例会更高。反之,如果纠错级别不高,那么哪怕是很小的损坏,也可能导致扫描失败。

还有一点值得注意的是,二维码的“格式信息”。在二维码的角落里,靠近定位标记的地方,还有一些小区域,它们存储着关于二维码的“格式”信息,比如它用了哪种编码方式,纠错级别是多少等等。这些信息虽然不是直接的数据内容,但对于扫描设备正确解析数据至关重要。这些区域也不能随意删除。

总的来说,能够安全“瘦身”的,主要是二维码中间那些存储具体信息的“数据块”,而且这种删除必须在保证“定位标记”完整,并且“纠错码”仍然能起到作用的前提下进行。这更像是一种“艺术”,需要在不影响识别的前提下,进行一些“视觉上的优化”或“信息上的冗余”,但要记住,一旦动了不该动的,整个二维码就可能变成一堆无意义的乱码了。所以,别以为它黑白分明就没啥门道,里面的学问可大着呢。

网友意见

user avatar

一方面是面积有限制,一般擦除的面积肯定不能超出容错比例。

其次就是辅助定位的部分是不能被擦除的,也就是下图所指出的地方:

之前我给赵人希做拼接式二维码的时候,就是把他的URL地址加大容错比例重新生成,再拆成四个小图放微博上,利用QR码的容错原理,让四个小图之间的间隙部分被容错掉就可以了。

做的第一版因为正好校正标识被擦去了一部分,所以识别率不佳,后来稍微挪了一下二维码的位置,让空隙避开了校正标识。


尽管定位和校正标识被擦除对识别的影响非常大,但是也不是完全不能擦除,擦除很小一部分的时候,二维码仍然是可以识别的,只是这些区域被擦除一点点就会带来很大的识别率下降。

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有